【C言語】迷路(ダンジョン)脱出ゲーム

この記事では、C言語で迷路(ダンジョン)を脱出するゲームを作成したので、そのソースコード等を解説します。

迷路脱出ゲーム

C言語の標準ライブラリを用いて、迷路脱出ゲームを作成しました。

【ゲーム概要】
・主人公は「o」、壁は「#」、ゴールは「G」で表示します。(何も表示されない場所は通路)
・主人公がゴール「G」にたどり着くとゲームクリアとなります。
・主人公は「A」「S」「D」「F」キーでそれぞれ下・上・左・右に動かせます。
・壁がどこにあるか最初は見えないようになっています。
・主人公の周囲1マスにある壁のみ表示されます。
・一度通った道や見つけた壁はその後も表示されます。
・主人公は壁を通ることが出来ません。
・スコアはクリアに掛かった時間で競います。

処理手順

プログラムの処理手順は下記の通りです。

①迷路の大きさ、主人公とゴールの位置を設定する。
②設定した大きさの迷路領域をメモリ上に確保し、メモリ内に倒し法で迷路(ダンジョン)を生成します。
③1文字Enter無しにキー入力待機をする。[ getch() ]
④キーが入力されたら画面を更新する。
⑤主人公がゴールに到着したらクリア画面とプレイ時間(スコア)を表示する。

ソースコード

サンプルプログラムのソースコードは下記の通りです。

実行結果

サンプルプログラムの実行結果は下記の通りです。

【関連記事】
C言語でゲームプログラミング
C言語入門 (サンプルプログラム集)