Javaで石取りゲームのプロクラムを作成する方法を教えてください。
<仕様>
15個の石を、コンピュータと取り合う。ただし、取れる石の数は1・2・3個のいずれかである。
最後に石を取ることになった側が負けになる。
<作成方法>
1 まず、乱数で先攻・後攻を決める。
コンピュータは、乱数を使って取る石の数(1~3)を決める。
ただし、3個以下の場合は1個または2個を取るようにしなくてはならない。
2 コンピュータのターンとあなたのターンの区別をする。
ターンを表す変数を用意し、その値によって区別すると良い。
ただし、どちらかのターンが終わった時点で、相手のターンに設定をする必要がある。
3 それぞれのターンに合わせて処理をする。
A コンピューターのターンの場合
①コンピュータのターンなら、取る石の数を決めて、コメントを出力する。
ただし、現在の石の数が3個より多いかどうかで、取る石の数を変える。
②石の残数を求めて出力する
B あなたのターンの場合
①取る石を入力させるようにする
②石の残数を求めて出力
4 石の残数が0になった時点で、どちらのターンだったかで勝敗が決まる。
<プログラム>
コンピューターが先行
コンピュータが1個取った
現在の石の数:14
石を取って!(1~3) >3
現在の石の数:11
コンピュータが2個取った
現在の石の数:9
石を取って!(1~3) >3
現在の石の数:6
コンピュータが2個取った
現在の石の数:4
石を取って!(1~3) >3
現在の石の数:1
コンピュータが1個取った
現在の石の数:0
あなたの勝ち
No.2
- 回答日時:
昔からあるゲームですね。
> 取れる石の数は1・2・3個のいずれかである。
> 最後に石を取ることになった側が負けになる。
この場合の必勝方法は、
自分が取った残りを「4の倍数+1」にして相手に渡せばよい、
という事になります。
その後は、相手の取る数+自分の取る数=4、
これで進めて相手に渡すだけ。
コンピュータの取る数がこれを意識せずに乱数で決定するならば、
必ず貴方の価値になってしまいます。
このゲームは、初期数が4n+1であるか否か、先行がどちらか、
で、勝敗か決まってしまうゲームなのです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# 石取りゲームをC言語プログラムで教えてください 1 2022/04/09 14:16
- 数学 場合の数、確率 49 (東大文系過去問) 7 2023/08/25 15:10
- 日本語 なぜ「壊石料理」と記述するのでしょうか? 26 2023/06/17 13:01
- 軍事学 例えばイスラエルのアイアンドームについて 6 2023/06/16 12:01
- 呼吸器・消化器・循環器の病気 虫垂炎(盲腸)の糞石について。 つい先日腹痛がひどかったため救急で病院へかかり虫垂炎と診断されました 1 2023/03/09 11:04
- 地球科学 火成岩からリンを取りだす方法 3 2022/08/18 00:12
- DIY・エクステリア 庭のドレーンパイプの手直しについて 3 2022/08/17 19:49
- その他(ファッション) ファーストピアスを自力で1週間前に付けたのですが、今日気づいたらピアスの石の部分が取れていました。 1 2023/03/09 01:27
- ガーデニング・家庭菜園 畑の土の改良用の牛糞堆肥について 1 2022/08/03 14:16
- 呼吸器・消化器・循環器の病気 総胆管結石の再発について 1 2022/11/18 15:24
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ビルの前とかにある建物の名前...
-
【化学・遺石】遺骨を石にする...
-
変わった模様の石を見つけたん...
-
熱石を浴槽に入れたい
-
石の沈降速度を教えてください ...
-
100円ライターの石って交換でき...
-
庭に凄く邪魔な大きい庭石があ...
-
和風の庭にある大きな石を、洋...
-
祟りでしょうか??
-
川で、するあの遊びの名前は?
-
Java 石取りゲーム
-
何という石ですか?
-
FGOのガチャで石400個近く使っ...
-
石を割ると黄色いのがあるので...
-
カラスが、
-
石が積んであると怖い??
-
メルカリやフリーマーケット等...
-
粛々として石に日の入る枯れ野かな
-
つけ麺を冷めないようにする為...
-
ゲートを作る際の基礎がグラグ...
おすすめ情報