C++でゲームを作ってみようー基礎編(5/5)

最後です、エンディングを作っていきましょう

といってもやることほとんどないですね
まぁZ押すまでクリアの文字でも出しておきましょうか
Ending()の中に書きましょうね

if(Z押されたら)タイトルへ
printf(クリアおめでとう)

はい、エンディング完成です
これで倉庫番の再現は一通りできました
これからはこのゲームで遊んで楽しみましょう


しかし、問題点は山積みです
クリアした後にもう一度やったら最初からクリアしてる状態かもしれない
マップの範囲は固定だし、荷物も1つしかない
ギミックも仕掛け方がわからない
ゴールの位置もマップの形も荷物の初期位置もプレイヤーの初期位置も全部同じだ
そもそもリアルタイムでやるにはコンソールは向いてない
あとエフェクトもなければきれいな絵も音楽もない

その他多くの困難があるでしょう
しかし、ここまでできた皆さんならそれを解決していけるはずです
それではこれからのご活躍をお祈り申し上げます



・・・っていうのもよくないのである程度予想できるものには
これからの記事で応用、発展として書いていくつもりです
というかこのままでは、Cでいいじゃんってなりますし・・・クラス作ってないので・・・

さて、この先へ行く前に、最後に改めて今回作ったゲームの流れを超大まかに捉えましょう

  • キーボード入力を取る
  • それを元に更新する
  • 現在の状態を描画する

こんな感じのものがwhileの中で行われていました
今回は更新と描画を同じ関数にまとめてましたが、この3つは分離されてる方がいいです
そっちの方が思い通りに作れることが多いと思うので

この、

  • 入力
  • 更新
  • 描画

の3種に加えて

  • 初期化
  • フレーム制御
  • 破棄

辺りが加わるとより精巧なゲームに変わっていきます

また、今回はちょっとだけ仕様を追加したにすぎませんでしたが
作ってから、「あ、やっぱりこういう風にしよう」って思って仕様を変更することは普通にあると思ってください
そのため、仕様変更に強いゲームの作り方ってのが必要です

とまぁ、まだまだたくさん考えることがありますが
以上で、基礎編を終わります

よいゲームライフをお過ごしください・・・