Land first. Then climb or slide.

Passing square 3 should not trigger a climb when the token lands on 4. This snake and ladder game JavaScript example records the tentative landing before applying one connection, then preserves the mover when checking for victory.

Click Roll through the six supplied values, 3, 1, 3, 6, 2, and 4, on a 25-square board for two local players. They leave A at 17 and B at 11, with A next. Separate demonstrations place A at 23 to compare an overshoot with an exact finish.

Land first. Then climb or slide.
Land first. Then climb or slide.
Open the full example ↗

Declare this board's own rules

Hasbro's US-English product page describes numbered movement and climbs/slides triggered by landing. The 25-square board below has its own declared overshoot and turn rules, which should be read separately from the manufacturer's game. Hasbro: Chutes and Ladders Product Instructions

Use five rows and five columns, labels 1–25, with both tokens initially at position 0 off the board. A starts; B follows. The players can share a square.

Original policy: a valid roll is an integer 1–6. Six gives no bonus turn. Win requires exactly 25; an overshoot leaves the token in place and passes the turn. These are declared variant rules, not claims about a full manufacturer manual.

The board uses labeled tokens and a fixed roll sequence. You can repeat the same moves to compare the landing calculations; the page does not offer a random die mode.

Resolve only the square reached by the roll

The original connection map has four entries:

Kind Landing start Destination
Climb 3 11
Climb 8 17
Slide 14 6
Slide 22 12

First calculate tentative landing = old position + roll. If it is within 25, inspect that one landing square. Apply its one map entry, if any, then publish the final position.

A from 0 with roll 3 lands on 3, then climbs to 11. A from 2 with roll 2 passes 3 but lands on 4, so stays at 4. From 11 with roll 3 lands on 14, then slides to 6.

Endpoints 11, 17, 6, and 12 are not connection starts. Do not reverse the climb when landing on 11 or re-trigger a slide from 6. None of these four endpoints starts another connection, so the movement stops after one climb or slide.

Record the actor before changing turns

The main demonstration uses the fixed roll sequence [3, 1, 3, 6, 2, 4]. Every accepted roll takes one validated face from the queue.

Turn Actor / old Face Tentative landing Connection Final
1 A / 0 3 3 Climb 3→11 A 11
2 B / 0 1 1 None B 1
3 A / 11 3 14 Slide 14→6 A 6
4 B / 1 6 7 None B 7
5 A / 6 2 8 Climb 8→17 A 17
6 B / 7 4 11 None; endpoint is not a start B 11

After turn 4's six, the next actor is A. After the six-record sample finishes, positions are A 17/B 11 with A next; this is not a completed game or winner.

Read each history entry from the old position through the roll, tentative landing, connection, and final position. The state panel separately identifies the next actor, so you can check both movement and turn order.

After all six values are used, another Roll reports that no roll is available and leaves positions and turn unchanged. Reset restores the sequence. To inspect the winning rule, use the separate exact-finish demonstration.

Inspect the finish cases

Load the staged A 23/exact 2 case, then Roll. The committed result names A as winner before a turn switch. In the separate A 23/overshoot 3 case, tentative 26 leaves A at 23 and passes to B. Staged controls label their source clearly; they are not reached by the six-roll tape.

Roll after tape exhaustion leaves positions and turn unchanged. Reset clears the movement history, restores both off-board positions and returns to the original tape. A six never earns a bonus turn in this variant. There is no random die fairness or complete-game claim for the finite demonstration queue.

Copy a prompt for this example

Build a single self-contained HTML snake-and-ladder demonstration with embedded CSS and JavaScript. Draw a responsive 5 by 5 board numbered 1 through 25 in serpentine rows. The bottom row runs left to right; alternate direction above it. Show labeled A and B tokens, readable positions, current turn, and movement history.

Both players begin at position 0 off the board. A starts. Use a fixed main roll sequence of 3, 1, 3, 6, 2, and 4. One Roll click consumes one value. A six gives no bonus turn.

Apply connections only after the token lands on their starting square: 3 to 11, 8 to 17, 14 to 6, and 22 to 12. Do not trigger a connection when passing it, reverse an endpoint, or chain connections. Record actor, old position, roll, tentative landing, connection, and final position.

The six rolls must produce A 11, B 1, A 6, B 7, A 17, and B 11, leaving A next. When the sequence ends, further Roll clicks leave state unchanged.

Require an exact finish at 25. Provide separate demonstrations placing A at 23 with roll 2 or roll 3. Roll 2 wins for A before switching turns; roll 3 overshoots to 26, leaves A at 23, and passes to B.

Reset restores the main sequence and starting positions. Keep shared-square token labels distinct. Return only the complete HTML file.

For a landing-rule walkthrough, NOS can display this prepared HTML board. Run the six rolls, compare the tentative and final positions in each row, then inspect the exact-finish demonstration without confusing it with the main trace.

Keep reading