
三山くずしゲームのルールです。
- 三個の山に積まれた石を、あなたと私(コンピュター)が交互に取り除きます。
- 一個の山からであれば幾らでも石を取り除くことが出来ます。
- 最後の一個の石を取らされた方が負けです。
二個の山が空になり、最後の山に一個だけ残して相手に手を渡せば勝ちです。
- このゲームは必勝パターンが存在していて、大抵の場合先手が勝ちます。
そこで、人間先手でゲームを始めます。
- 石取ゲームの必勝パターンは少し考えれば解ると思いますが、三山くずしゲームは難解です。
ルールは簡単ですが、勝ち方を知らないとなかなか勝てません。
私の友達などはどうしても勝てず、舌足らずな「私の勝ちです」の声に怒りを覚えているほどです。 (^_^;)
この声は私の下の娘が幼稚園に行く前に録音したもので、今となっては二度と手に入らない貴重な財産です。
三山くずしゲームはC言語(Windows)やC#やJava Net Gameでも作成しています。
プログラムガイド
- 人間側のプレイはマウスのクリックで行います。
詳細は マウスクリック を参照して下さい。
- 主要なソースコードは外部ファイルから呼び出します。
詳細は File Input を参照して下さい。
- ゲームはパラメータを設定して自分自身を再起コールすることで進めます。
JavaScript では、次々とページを切り替えながら(遷移しながら)ゲームを進める方法が良く使われます。
- パラメータは連想配列で受け取るのが常識ですが、今回はプログラムの都合で配列で受け取ります。
それに伴い、パラメータの順番を「手番, 山1の数, 山2の数, 山3の数 」の順に並べます。
- 雰囲気を出すために効果音(mp3)を再生します。
効果音の説明は Keyword 検索の Audio から検索して下さい。
- Simple is best の方針に従い、エラーチェックなど付属的な処理は省略します。
ゲームを面白くする
- 三山ゲームβ版で一応コンピュータを相手にゲームを楽しむことが出来ます。
- ゲーム画面のデザインを工夫して下さい。
- 最初の設定で同じ数の山があると簡単に勝つことが出来ます。
山の石が同数にならないように設定して下さい。
- 1割の確率でコンピュータがミスをしているのですが、白々しいミスは避けましょう。
例えば、残りの山が2個のときにミスすると明らかにミスと解ります。
また山の数を同数にするプレイも明らかなミスでしょう。
- コンピュータがミスをするとき、何時も大きいやまから1個取り除くのは芸がありません。
乱数を使って気づかれないようにして下さい。
- 対戦成績などを表示するともっと面白くなるでしょうか。
[Next Chapter ↓] 三山ゲーム-1

前田稔の超初心者のプログラム入門
超初心者のプログラム入門(JavaScript)