L'ispirazione per questa sfida dovrebbe essere ridicolmente ovvia al momento della pubblicazione.
L'obiettivo
È necessario creare un programma in stile Shut the Box (non funzione, programma). Le basi per chiudere la scatola sono:
I giocatori tentano di chiudere la scatola ruotando un set di leve etichettati 1-9. Devono farlo lanciando le leve. La sequenza degli eventi di ogni turno è la seguente:
- Viene mostrata la posizione corrente delle leve.
- In un nuovo gioco, la posizione delle leve deve essere visualizzata come
123456789
. - In un gioco con le leve chiuse, tutte le leve chiuse vengono visualizzate come
-
. Ad esempio, in un gioco con 1, 5 e 9 chiusi, l'output sarebbe-234-678-
.
- In un nuovo gioco, la posizione delle leve deve essere visualizzata come
- Il di (c) e (is | are) arrotolato.
- Se le leve 7, 8 e 9 sono tutte spente, viene lanciato un solo dado a sei facce. Altrimenti, vengono lanciati 2 dadi a sei facce.
- Al giocatore viene richiesto di scegliere quante leve vogliono girare.
- Se il giocatore sceglie un numero> 9 o <0, il gioco termina.
- Se il giocatore sceglie una leva già chiusa, il gioco termina.
- Il giocatore seleziona molte leve.
- Se la somma delle leve non è uguale al valore del di (c) e lanciato, il gioco termina.
- Se tutte le leve sono chiuse, congratulazioni, hai vinto. Altrimenti, tornare al passaggio 1.
Regole per il programma
- Ad ogni turno, dovresti emettere le posizioni correnti delle leve.
- È necessario emettere il valore del rotolo con la frase
You rolled:
(notare lo spazio). - È necessario richiedere (e attendere) che il numero di leve cambi con la frase
How many levers to flip:
(notare lo spazio). - È necessario richiedere (e attendere) tutte le leve specificate dal giocatore con la frase
Which lever to flip:
(notare lo spazio). - È necessario capovolgere le leve specificate.
- Se in qualsiasi momento il gioco termina, devi effettuare l'output
Game Over
. - Se il giocatore termina un turno senza le leve aperte, devi effettuare l'uscita
You win!
Giochi di esempio
123456789
You rolled: 5
How many levers to flip: 5
Which lever to flip: 1
Which lever to flip: 2
Which lever to flip: 3
Which lever to flip: 4
Which lever to flip: 5
Game Over
123456789
You rolled: 5
How many levers to flip: 3
Which lever to flip: 2
Which lever to flip: 2
Which lever to flip: 1
Game Over
123456789
You rolled: 12
How many levers to flip: 2
Which lever to flip: 3
Which lever to flip: 9
12-45678-
You rolled: 6
How many levers to flip: 2
Which lever to flip: 2
Which lever to flip: 4
1---5678-
You rolled: 11
How many levers to flip: 2
Which lever to flip: 5
Which lever to flip: 6
1-----78-
You rolled: 8
How many levers to flip: 1
Which lever to flip: 8
1-----7--
You rolled: 8
How many levers to flip: 2
Which lever to flip: 1
Which lever to flip: 7
---------
You win!