このチャレンジのインスピレーションは、投稿の時点でとんでもなく明白なはずです。
タスク
Shut the Boxスタイルのプログラム(関数、プログラムではない)を作成する必要があります。シャットダウンボックスの基本は次のとおりです。
プレイヤーは、1-9のラベルが付いたレバーのセットを回して、ボックスを閉じようとします。彼らはレバーをひっくり返すことによってそうしなければなりません。各ターンのイベントのシーケンスは次のとおりです。
- レバーの現在の位置が表示されます。
- 新しいゲームでは、レバーの位置はとして表示されるはず
123456789です。 - シャットレバーを使用するゲームでは、シャットレバーはすべてとして表示され
-ます。たとえば、1、5、および9が閉じられているゲームでは、出力はになります-234-678-。
- 新しいゲームでは、レバーの位置はとして表示されるはず
- di(c)eは(ロールバックされます)。
- レバー7、8、および9がすべてオフの場合、1つの6面ダイスのみがスローされます。それ以外の場合、2つの6面ダイスがスローされます。
- プレーヤーは、反転させたいレバーの数を選択するよう求められます。
- プレーヤーが9より大きい数値または0より小さい数値を選択した場合、ゲームは終了します。
- プレイヤーが既に閉じたレバーを選択した場合、ゲームは終了します。
- プレーヤーはその数のレバーを選択します。
- レバーの合計がスローされたdi(c)eの値と等しくない場合、ゲームは終了します。
- すべてのレバーが閉じられている場合、おめでとうございます、あなたは勝ちます。それ以外の場合は、手順1に戻ります。
プログラムの規則
- 各ターンで、レバーの現在の位置を出力する必要があります。
- フレーズとともにロールの値を出力する必要があります
You rolled:(スペースに注意してください)。 - フレーズで切り替わるレバーの数を入力する(そして待つ)必要があります(
How many levers to flip:スペースに注意してください)。 - フレーズで指定されたプレーヤーと同数のレバーを要求する(そして待つ)必要があります(
Which lever to flip:スペースに注意してください)。 - 指定されたレバーを反転する必要があります。
- いずれかの時点でゲームが終了した場合、を出力する必要があります
Game Over。 - プレーヤーがレバーを開かずにターンを終了した場合、出力する必要があります
You win!
サンプルゲーム
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!