今回は受講生が作ったJava問題の中から良問をピックアップします。

*******Diceゲーム(S氏作)*******
連続引きができるタイプのゲーム、1を出すとそのターンで得たポイントが0になってしまうというのが面白いですね。

[ルール]
○二人で遊ぶサイコロゲーム
○サイコロを振って出た目がポイントになる
○先に目標ポイントに到達したほうが勝利
○プレイヤーは自分のターンに何度でもサイコロを振ることができるが、サイコロの目が1だった場合、そのターンに得たポイントは没収され、ターンが相手に移る。

[実行例1]

目標ポイントを設定してください>20

Aのターン
サイコロを振ります
最初の目は6
現在のポイント(6)
さらにサイコロを振る? 1:振る2:やめとく>1
サイコロの目は4
現在のポイント(10)
さらにサイコロを振る? 1:振る2:やめとく>1
サイコロの目は5
現在のポイント(15)
さらにサイコロを振る? 1:振る2:やめとく>2
ターン終了

Bのターン
サイコロを振ります
最初の目は6
現在のポイント(6)
さらにサイコロを振る? 1:振る2:やめとく>1
サイコロの目は1
残念!ポイントは(0)に戻った

Aのターン
サイコロを振ります
サイコロの目は3
現在のポイント(18)
さらにサイコロを振る? 1:振る2:やめとく>1
サイコロの目は6
A Win!

[実行例2]

目標ポイントを設定してください>20

Aのターン
サイコロを振ります
最初の目は2
現在のポイント(2)
さらにサイコロを振る? 1:振る2:やめとく>1
サイコロの目は3
現在のポイント(5)
さらにサイコロを振る? 1:振る2:やめとく>2
ターン終了

Bのターン
サイコロを振ります
最初の目は4
現在のポイント(4)
さらにサイコロを振る? 1:振る2:やめとく>1
サイコロの目は6
現在のポイント(10)
さらにサイコロを振る? 1:振る2:やめとく>2
ターン終了

Aのターン
サイコロを振ります
サイコロの目は4
現在のポイント(9)
さらにサイコロを振る? 1:振る2:やめとく>1
サイコロの目は1
残念!ポイントは(5)に戻った

Bのターン
サイコロを振ります
サイコロの目は4
現在のポイント(14)
さらにサイコロを振る? 1:振る2:やめとく>1
サイコロの目は3
現在のポイント(17)
さらにサイコロを振る? 1:振る2:やめとく>1
サイコロの目は1
残念!ポイントは(10)に戻った

Aのターン
サイコロを振ります
サイコロの目は4
現在のポイント(9)
さらにサイコロを振る? 1:振る2:やめとく>1
サイコロの目は1
残念!ポイントは(5)に戻った

Bのターン
サイコロを振ります
サイコロの目は2
現在のポイント(12)
さらにサイコロを振る? 1:振る2:やめとく>1
サイコロの目は5
現在のポイント(17)
さらにサイコロを振る? 1:振る2:やめとく>1
サイコロの目は1
残念!ポイントは(10)に戻った

Aのターン
サイコロを振ります
サイコロの目は5
現在のポイント(10)
さらにサイコロを振る? 1:振る2:やめとく>1
サイコロの目は5
現在のポイント(15)
さらにサイコロを振る? 1:振る2:やめとく>1
サイコロの目は4
現在のポイント(19)
さらにサイコロを振る? 1:振る2:やめとく>1
サイコロの目は3
A Win!

[解答例]

https://gist.github.com/mjpurin/23ead78fdb97f7569e5538c4071f5d69