- 19, Oct 2024
- #1
Вдохновение для этой задачи должно быть до смешного очевидным на момент публикации.
Задача
Вы должны создать программу в стиле «Закрой коробку» (не функцию, программу). Основы закрывания коробки таковы:
Игроки пытаются закрыть ящик, повернув набор рычагов с обозначениями 1–9. Они должны сделать это, щелкая рычагами. Последовательность событий каждого хода следующая:
- Отображается текущее положение рычагов.
- В новой игре положение рычагов должно отображаться как
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!
- В игре с рычагами закрытия все рычаги закрытия отображаются как
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
. For example, on a game that has 1, 5, and 9 shut, the output would be123456789 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
.
- В новой игре положение рычагов должно отображаться как
- Di(c)e (is|are) выброшено.
- Если все рычаги 7, 8 и 9 выключены, бросается только один шестигранный кубик. В противном случае бросаются 2 шестигранных кубика.
- Игроку предлагается выбрать, сколько рычагов он хочет перевернуть.
- Если игрок выбирает число >9 или <0, игра заканчивается.
- Если игрок выбирает уже закрытый рычаг, игра заканчивается.
- Игрок выбирает такое количество рычагов.
- Если сумма рычагов не равна значению брошенной кости (c)e, игра заканчивается.
- Если все рычаги закрыты, поздравляем, вы выиграли. В противном случае вернитесь к шагу 1.
Правила программы
- При каждом повороте вы должны выводить текущие положения рычагов.
- Вы должны вывести значение броска с фразой
You win!
(note the space). - Необходимо подсказать (и дождаться) переключения количества рычагов фразой
Game Over
(note the space). - Вы должны запросить (и дождаться) столько рычагов, сколько игрок указал фразой
Which lever to flip:
(note the space). - Вы должны перевернуть указанные рычаги.
- Если в какой-то момент игра закончится, вы должны вывести
How many levers to flip:
. - Если игрок заканчивает ход, а рычаги не открыты, вы должны вывести
You rolled:
Примеры игр
-234-678-
-
123456789
#код-гольф #игра #случайный