= Juggler Orange's Timing Game
:toc:
:icons: font

*A rhythm card game for 2-4 players, ages 8+*

== Overview

Keep all the balls in the air! Play cards in the right ORDER and TIMING to juggle successfully. Drop a ball and you're out!

*Players:* 2-4
*Time:* 15-20 minutes
*Ages:* 8+ (Cuttle stage)

== What's In The Box

* 40 Ball Cards (4 colors × 10 each)
* 12 Action Cards (Throw, Catch, Pass)
* 8 Timing Cards (Now, Wait, Rush)
* 4 Juggler Mats (tracks balls in air)
* Rules card

== Setup

1. Each player takes a Juggler Mat
2. Shuffle Ball and Action cards together
3. Deal 5 cards to each player
4. Place 3 balls (any color) on each mat's "Ready" zone

== How To Play

=== The Rhythm

Play proceeds in BEATS. Everyone plays simultaneously!

----
Beat 1: Everyone plays one card
Beat 2: Resolve all cards (order matters!)
Beat 3: Check for drops
Repeat!
----

=== On Each Beat

1. **Choose** a card from your hand (face down)
2. **Reveal** all cards simultaneously
3. **Resolve** in order: Throws → Catches → Passes

=== Card Types

**🔴🔵🟢🟡 Ball Cards**
* Play to throw a ball into the air
* Ball stays "in air" for 2 beats
* Must catch before it drops!

**⬆️ Throw**
* Throw any ball from Ready to Air
* Can throw multiple with multiple cards

**⬇️ Catch**
* Catch one ball from Air back to Ready
* MUST catch balls that have been up 2 beats!

**➡️ Pass**
* Send a ball to another player's Air zone
* They must catch it!

=== Timing Cards

**⚡ Rush:** Your action happens FIRST this beat
**⏸️ Wait:** Your action happens LAST this beat
**🎯 Now:** Normal timing (default)

=== Dropping Balls

A ball DROPS if:
* It's been in Air for 2 beats AND
* You don't play a Catch card

**When you drop:**
* Remove that ball from the game
* Draw 2 cards (penalty)

**If you drop all 3 balls = YOU'RE OUT!**

== Winning

Last player with balls in play wins!

*Variant scoring:*
* +1 point per ball remaining
* +2 points per opponent's dropped ball you caused (via Pass)

== The Secret (Don't Tell the Kids!)

[NOTE]
====
*What they're learning:*

* **Sequencing:** Actions must happen in order
* **Timing:** Some things must happen before others
* **Concurrent events:** Multiple things happening at once
* **Resource management:** Balls = limited resources

This is concurrency!

----
// In code terms:
async function juggle() {
  await throw(ball1);    // Must complete before...
  await catch(ball1);    // ...catching!
  // Race condition: what if timing is wrong?
}
----

Orange is teaching async/await and scheduling!
====

== Quick Reference

----
EACH BEAT:
1. Everyone chooses card (secret)
2. Reveal simultaneously
3. Resolve: Throw → Catch → Pass

BALLS IN AIR:
- Beat 1: Just thrown ✓
- Beat 2: Still safe ✓
- Beat 3: MUST CATCH or DROP!

TIMING:
⚡ Rush = go first
🎯 Now = normal
⏸️ Wait = go last
----

== Variants

=== Cooperative Mode
All players share one pool of balls. Everyone wins or loses together!

=== Speed Mode
Use a metronome or timer. 5 seconds per beat!

=== Chain Juggling
Balls must be passed in a circle. Add coordination challenge!
