244 lines
5.7 KiB
YAML
244 lines
5.7 KiB
YAML
blocks_studio_version: 2
|
|
# Complete blocks v2 scenario: all 7 puzzles + code assembly + transitions.
|
|
# Puzzles: P1 Sound, P2 LED, P3 QR, P4 Radio, P5 Morse, P6 NFC, P7 Coffre.
|
|
# Boards: sound/qr on master, led/radio on master (future-hw, no real board yet),
|
|
# morse/nfc on plip, coffre on p7_coffre.
|
|
# FUTURE_HW warnings expected (non-blocking) for led, radio, morse, nfc, coffre.
|
|
nodes:
|
|
|
|
# ── Step 1 : Sound puzzle (P1) ──────────────────────────────────────
|
|
- id: start_sound
|
|
kind: sceneStart
|
|
params: {id: sound}
|
|
next: scene_sound
|
|
|
|
- id: scene_sound
|
|
kind: scene
|
|
params:
|
|
title: "MISSION SON"
|
|
subtitle: "reproduisez la mélodie"
|
|
symbol: "NOTE"
|
|
effect: pulse
|
|
next: puzzle_sound
|
|
|
|
- id: puzzle_sound
|
|
kind: puzzleSound
|
|
params:
|
|
id: 1
|
|
melody: "60, 62, 64, 65"
|
|
tolerance: 2
|
|
fragment: "1"
|
|
board: master
|
|
next: on_sound_solved
|
|
|
|
- id: on_sound_solved
|
|
kind: onPuzzleSolved
|
|
params:
|
|
puzzle: "1"
|
|
target: qr
|
|
next: null
|
|
|
|
# ── Step 2 : QR puzzle (P3) ─────────────────────────────────────────
|
|
- id: start_qr
|
|
kind: sceneStart
|
|
params: {id: qr}
|
|
next: scene_qr
|
|
|
|
- id: scene_qr
|
|
kind: scene
|
|
params:
|
|
title: "MISSION QR"
|
|
subtitle: "scannez dans l'ordre"
|
|
symbol: "RUN"
|
|
effect: gyro
|
|
next: puzzle_qr
|
|
|
|
- id: puzzle_qr
|
|
kind: puzzleQR
|
|
params:
|
|
id: 3
|
|
codes: "zacus-qr-1, zacus-qr-2"
|
|
fragment: "3"
|
|
board: master
|
|
next: on_qr_solved
|
|
|
|
- id: on_qr_solved
|
|
kind: onPuzzleSolved
|
|
params:
|
|
puzzle: "3"
|
|
target: led
|
|
|
|
# ── Step 3 : LED puzzle (P2) ────────────────────────────────────────
|
|
- id: start_led
|
|
kind: sceneStart
|
|
params: {id: led}
|
|
next: scene_led
|
|
|
|
- id: scene_led
|
|
kind: scene
|
|
params:
|
|
title: "MISSION CIRCUIT"
|
|
subtitle: "assemblez le circuit"
|
|
symbol: "LED"
|
|
effect: pulse
|
|
next: puzzle_led
|
|
|
|
- id: puzzle_led
|
|
kind: puzzleLED
|
|
params:
|
|
id: 2
|
|
pattern: "R1, LED, SW1"
|
|
fragment: "2"
|
|
board: master
|
|
next: on_led_solved
|
|
|
|
- id: on_led_solved
|
|
kind: onPuzzleSolved
|
|
params:
|
|
puzzle: "2"
|
|
target: radio
|
|
|
|
# ── Step 4 : Radio puzzle (P4) ──────────────────────────────────────
|
|
- id: start_radio
|
|
kind: sceneStart
|
|
params: {id: radio}
|
|
next: scene_radio
|
|
|
|
- id: scene_radio
|
|
kind: scene
|
|
params:
|
|
title: "MISSION RADIO"
|
|
subtitle: "trouvez la fréquence"
|
|
symbol: "WAVE"
|
|
effect: glitch
|
|
next: puzzle_radio
|
|
|
|
- id: puzzle_radio
|
|
kind: puzzleRadio
|
|
params:
|
|
id: 4
|
|
frequency: 1337
|
|
tolerance: 10
|
|
fragment: "4"
|
|
board: master
|
|
next: on_radio_solved
|
|
|
|
- id: on_radio_solved
|
|
kind: onPuzzleSolved
|
|
params:
|
|
puzzle: "4"
|
|
target: morse
|
|
|
|
# ── Step 5 : Morse puzzle (P5) ──────────────────────────────────────
|
|
- id: start_morse
|
|
kind: sceneStart
|
|
params: {id: morse}
|
|
next: scene_morse
|
|
|
|
- id: scene_morse
|
|
kind: scene
|
|
params:
|
|
title: "MISSION MORSE"
|
|
subtitle: "décodez le message"
|
|
symbol: "DOT"
|
|
effect: pulse
|
|
next: puzzle_morse
|
|
|
|
- id: puzzle_morse
|
|
kind: puzzleMorse
|
|
params:
|
|
id: 5
|
|
message: "ZACUS"
|
|
mode: normal
|
|
fragment: "5"
|
|
board: plip
|
|
next: on_morse_solved
|
|
|
|
- id: on_morse_solved
|
|
kind: onPuzzleSolved
|
|
params:
|
|
puzzle: "5"
|
|
target: nfc
|
|
|
|
# ── Step 6 : NFC puzzle (P6) ────────────────────────────────────────
|
|
- id: start_nfc
|
|
kind: sceneStart
|
|
params: {id: nfc}
|
|
next: scene_nfc
|
|
|
|
- id: scene_nfc
|
|
kind: scene
|
|
params:
|
|
title: "MISSION SYMBOLES"
|
|
subtitle: "placez les tags NFC"
|
|
symbol: "NFC"
|
|
effect: pulse
|
|
next: puzzle_nfc
|
|
|
|
- id: puzzle_nfc
|
|
kind: puzzleNFC
|
|
params:
|
|
id: 6
|
|
tags: "7, 2, 11, 4, 9, 1, 8, 3, 12, 6, 10, 5"
|
|
ordered: "TRUE"
|
|
fragment: "67"
|
|
board: plip
|
|
next: on_nfc_solved
|
|
|
|
- id: on_nfc_solved
|
|
kind: onPuzzleSolved
|
|
params:
|
|
puzzle: "6"
|
|
target: coffre
|
|
|
|
# ── Step 7 : Coffre puzzle (P7) + code assembly ─────────────────────
|
|
- id: start_coffre
|
|
kind: sceneStart
|
|
params: {id: coffre}
|
|
next: scene_coffre
|
|
|
|
- id: scene_coffre
|
|
kind: scene
|
|
params:
|
|
title: "LE COFFRE"
|
|
subtitle: "entrez le code final"
|
|
symbol: "LOCK"
|
|
effect: glitch
|
|
next: puzzle_coffre
|
|
|
|
- id: puzzle_coffre
|
|
kind: puzzleCoffre
|
|
params:
|
|
id: 7
|
|
length: 8
|
|
fragment: "8"
|
|
board: p7_coffre
|
|
next: assemble_code
|
|
|
|
- id: assemble_code
|
|
kind: codeAssembly
|
|
params:
|
|
length: 8
|
|
fragments: "P1_SON:1, P3_QR:3, P2_CIRCUIT:2, P4_RADIO:4, P5_MORSE:5, P6_SYMBOLES:6-7, P7_COFFRE:8"
|
|
next: on_code_assembled
|
|
|
|
- id: on_code_assembled
|
|
kind: onCodeAssembled
|
|
params:
|
|
code: ""
|
|
target: outro
|
|
|
|
# ── Step 8 : Outro ──────────────────────────────────────────────────
|
|
- id: start_outro
|
|
kind: sceneStart
|
|
params: {id: outro}
|
|
next: scene_outro
|
|
|
|
- id: scene_outro
|
|
kind: scene
|
|
params:
|
|
title: "VICTOIRE"
|
|
subtitle: "le mystere est resolu"
|
|
symbol: "WIN"
|
|
effect: gyro
|