なければ地雷数を半角で表示だ。このコードは素直に書いただけで、格別難しいとこは無いと思う。なっているところくらいか。あなたの好きな文字に適当に変え、ビルド・実行してみなさい。周辺8近傍の地雷数を半角ではなく全角で表示するよう修正してみなさい。現在のプログラムでは縦横ともに9マスまでしか対応していない。横は26マスまで、縦は99マスまで対応可能にしなさい。引数で指定されたマス目を開く関数だ。範囲チェックと既に開いているかのチェックを行っている。これらは、後で説明再帰コールのためだ。この関数のキモである、再帰コールにより安全に開けるマス目を開ける処理。8近傍の座標について、自分自身を呼ぶだけだ。再帰コールで気をつけなくてはいけないのは、ちゃんと終了するかどうかだ。コールしたりすると、無限ループに陥ってしまう(実際にそうなるとスタックオーバーフローで例外が発生し、停止する)。関数の最初の方で、マス目が既に開いているかをチェックし、開いていれば何も処理をしないでリターンしているわけだ。再帰処理は、初級者には難しい一種の壁のようなものだが、ちゃんと理解し、経験をつんでなんとかマスターして欲しい。マスターすると、プログラム記述の自由度が増し、プログラミング能力が倍加すること間違いなしだ。関数の処理をトレースしてみなさい。この定義どおりに階乗を計算する関数を定義しなさい。爆弾以外のマス目を全て開けたかどうかをチェックする関数だ。true;}処理は単純だ。main関数の記述だ。関数はちょっと長い(と言っても、わずか46行)ので、大枠の部分から説明。現在時刻で呼んで、乱数系列を変更する。これを行わないといつも同じ乱数が発生する。Tips:テストを行うときは、再現性があった方がいいので、この行はコメントアウトするといいぞ。起動メッセージを表示し、forの無限ループに入る。