【はじめてのプチコン】メインルーチンの流れ | りょうのゲーム塾

りょうのゲーム塾

再開、準備中。

チェックポイント
メインルーチンからゲームタスクまでのAPADで大まかなプログラムの流れを確認しましょう。
APADの先頭にある番号はサンプルソースの行番号です。


■APAD

0005-0011
┏┳━━━━━━━━━━━┓ ┏┳━━━━━━━━━━┳┓
┃┃         ┃ ┃┃          ┃┃
┃┃メインルーチン  ┃ ┃┃システムの初期化  ┃┃
┃┃         ┃ ┃┃          ┃┃
┣┻━━━━━━━━━━━┛ ┣┻━━━━━━━━━━┻┛
┣━━━━━━━━━━━━┓ ┣┳━━━━━━━━━━┳┓
┣━━━━━━━━━━━┓┃ ┃┃          ┃┃
┃ ゲームの初期化 ┃┣━┫┃ゲームタスクの初期化┃┃
┣━━━━━━━━━━━┛┃ ┃┃          ┃┃
┣━━━━━━━━━━━━┛ ┗┻━━━━━━━━━━┻┛
┣━━━━━━━━━━━━┓ ┏┳━━━━━━━━━━┳┓
┃          ┃ ┃┃          ┃┃
┃ ゲームループ   ┣━┫┃システムメイン   ┃┃
┣━━━━━━━━━━━━┫ ┃┃          ┃┃
┗━━━━━━━━━━━━┛ ┣┻━━━━━━━━━━┻┛
               ┣━━━━━━━━━━━━┓
               ┣━━━━━━━━━━━━┫
               ┃ ゲームタスク     ┃
               ┣━━━━━━━━━━━━┫
               ┗━━━━━━━━━━━━┛

0013-0017
┏┳━━━━━━━━━━┳┓
┃┃          ┃┃
┃┃システムの初期化  ┃┃
┃┃          ┃┃
┣┻━━━━━━━━━━┻┛
┣━━━━━━━━━━━━┓
┃            ┃
┃ 変数の初期化     ┃
┃            ┃
┣━━━━━━━━━━━━┛
┣━━━━━━━━━━━━┓
┃            ┃
┃ システムカウンターの ┃
┃ 初期化        ┃
┃            ┃
┣━━━━━━━━━━━━┛
┣━━━━━━━━━━━━┓
┃            ┃
┃ システムキーの初期化 ┃
┃            ┃
┣━━━━━━━━━━━━┛
┣━━━━━━━━━━━━┓
┃            ┃
┃ RETURN     ┃
┃            ┃
┗━━━━━━━━━━━━┛

0019-0027
┏┳━━━━━━━━━━┳┓
┃┃          ┃┃
┃┃システムメイン   ┃┃
┃┃          ┃┃
┣┻━━━━━━━━━━┻┛
┣━━━━━━━━━━━━┓
┃            ┃
┃ Vブランキング同期  ┃
┃            ┃
┣━━━━━━━━━━━━┛
┣━━━━━━━━━━━━┓
┃            ┃
┃ システムカウンターの ┃
┃ 更新         ┃
┃            ┃
┣━━━━━━━━━━━━┛
┣━━━━━━━━━━━━┓
┃            ┃
┃ トリガONキー作成  ┃
┃            ┃
┣━━━━━━━━━━━━┛
┣━━━━━━━━━━━━┓
┃            ┃
┃ トリガOFFキー作成 ┃
┃            ┃
┣━━━━━━━━━━━━┛
┣━━━━━━━━━━━━┓
┃            ┃
┃ RETURN     ┃
┃            ┃
┗━━━━━━━━━━━━┛

0029-0032
┏┳━━━━━━━━━━┳┓
┃┃          ┃┃
┃┃ゲームタスクの初期化┃┃
┃┃          ┃┃
┣┻━━━━━━━━━━┻┛
┣━━━━━━━━━━━━┓
┃            ┃
┃ マップ配列作成    ┃
┃            ┃
┣━━━━━━━━━━━━┛
┣━━━━━━━━━━━━┓
┃            ┃
┃ ハイスコア設定    ┃
┃            ┃
┣━━━━━━━━━━━━┛
┣━━━━━━━━━━━━┓
┃            ┃
┃ タスクフラグ:0   ┃
┃            ┃
┣━━━━━━━━━━━━┛
┣━━━━━━━━━━━━┓
┃            ┃
┃ RETURN     ┃
┃            ┃
┗━━━━━━━━━━━━┛

0034-0198
┏━━━━━━━━━━━━┓
┣━━━━━━━━━━━━┫
┃ ゲームタスク     ┃
┣━━━━━━━━━━━━┫
┣━━━━━━━━━━━━┛
┣━━━━━━━━━━━━┓
┃            ┃
┃ GM_TF      ┃
┃            ┃
┣┳━━━━━━━━━━━┛
┃┣━━━━━━━━━━━┓ ┏━━━━━━━━━━━━┓
┃┃           ┃ ┣━━━━━━━━━━━┓┃
┃┃0の時        ┣━┫ ゲームタイトル表示 ┃┃
┃┃           ┃ ┣━━━━━━━━━━━┛┃
┃┣━━━━━━━━━━━┛ ┣━━━━━━━━━━━━┛
┃┃             ┣━━━━━━━━━━━━┓
┃┃             ┃            ┃
┃┃             ┃ RETURN     ┃
┃┃             ┃            ┃
┃┃             ┗━━━━━━━━━━━━┛
┃┣━━━━━━━━━━━┓ ┏━━━━━━━━━━━━┓
┃┃           ┃ ┣━━━━━━━━━━━┓┃
┃┃1の時        ┣━┫ キー入力待ち    ┃┃
┃┃           ┃ ┣━━━━━━━━━━━┛┃
┃┣━━━━━━━━━━━┛ ┣━━━━━━━━━━━━┛
┃┃             ┣━━━━━━━━━━━━┓
┃┃             ┃            ┃
┃┃             ┃ RETURN     ┃
┃┃             ┃            ┃
┃┃             ┗━━━━━━━━━━━━┛
┃┣━━━━━━━━━━━┓ ┏━━━━━━━━━━━━┓
┃┃           ┃ ┣━━━━━━━━━━━┓┃
┃┃2の時        ┣━┫ ステージスタート表示┃┃
┃┃           ┃ ┣━━━━━━━━━━━┛┃
┃┣━━━━━━━━━━━┛ ┣━━━━━━━━━━━━┛
┃┃             ┣━━━━━━━━━━━━┓
┃┃             ┃            ┃
┃┃             ┃ RETURN     ┃
┃┃             ┃            ┃
┃┃             ┗━━━━━━━━━━━━┛
┃┣━━━━━━━━━━━┓ ┏━━━━━━━━━━━━┓
┃┃           ┃ ┣━━━━━━━━━━━┓┃
┃┃3の時        ┣━┫ 表示時間待ち    ┃┃
┃┃           ┃ ┣━━━━━━━━━━━┛┃
┃┣━━━━━━━━━━━┛ ┣━━━━━━━━━━━━┛
┃┃             ┣━━━━━━━━━━━━┓
┃┃             ┃            ┃
┃┃             ┃ RETURN     ┃
┃┃             ┃            ┃
┃┃             ┗━━━━━━━━━━━━┛
┃┣━━━━━━━━━━━┓ ┏━━━━━━━━━━━━┓
┃┃           ┃ ┣━━━━━━━━━━━┓┃
┃┃4の時        ┣━┫ ゲームタスク実行  ┃┃
┃┃           ┃ ┣━━━━━━━━━━━┛┃
┃┣━━━━━━━━━━━┛ ┣━━━━━━━━━━━━┛
┃┃             ┣━━━━━━━━━━━━┓
┃┃             ┃            ┃
┃┃             ┃ RETURN     ┃
┃┃             ┃            ┃
┃┃             ┗━━━━━━━━━━━━┛
┃┣━━━━━━━━━━━┓ ┏━━━━━━━━━━━━┓
┃┃           ┃ ┣━━━━━━━━━━━┓┃
┃┃5の時        ┣━┫ ゲームオーバー表示 ┃┃
┃┃           ┃ ┣━━━━━━━━━━━┛┃
┃┣━━━━━━━━━━━┛ ┣━━━━━━━━━━━━┛
┃┃             ┣━━━━━━━━━━━━┓
┃┃             ┃            ┃
┃┃             ┃ RETURN     ┃
┃┃             ┃            ┃
┃┃             ┗━━━━━━━━━━━━┛
┃┣━━━━━━━━━━━┓ ┏━━━━━━━━━━━━┓
┃┃           ┃ ┣━━━━━━━━━━━┓┃
┃┃6の時        ┣━┫ 表示時間待ち    ┃┃
┃┃           ┃ ┣━━━━━━━━━━━┛┃
┃┣━━━━━━━━━━━┛ ┣━━━━━━━━━━━━┛
┃┃             ┣━━━━━━━━━━━━┓
┃┃             ┃            ┃
┃┃             ┃ RETURN     ┃
┃┃             ┃            ┃
┃┃             ┗━━━━━━━━━━━━┛
┃┣━━━━━━━━━━━┓ ┏━━━━━━━━━━━━┓
┃┃           ┃ ┣━━━━━━━━━━━┓┃
┃┃7の時        ┣━┫ ゲームクリア表示  ┃┃
┃┃           ┃ ┣━━━━━━━━━━━┛┃
┃┣━━━━━━━━━━━┛ ┣━━━━━━━━━━━━┛
┃┃             ┣━━━━━━━━━━━━┓
┃┃             ┃            ┃
┃┃             ┃ RETURN     ┃
┃┃             ┃            ┃
┃┃             ┗━━━━━━━━━━━━┛
┃┣━━━━━━━━━━━┓ ┏━━━━━━━━━━━━┓
┃┃           ┃ ┣━━━━━━━━━━━┓┃
┃┃8の時        ┣━┫ 表示時間待ち    ┃┃
┃┃           ┃ ┣━━━━━━━━━━━┛┃
┃┣━━━━━━━━━━━┛ ┣━━━━━━━━━━━━┛
┃┃             ┣━━━━━━━━━━━━┓
┃┃             ┃            ┃
┃┃             ┃ RETURN     ┃
┃┃             ┃            ┃
┃┃             ┗━━━━━━━━━━━━┛
┃┣━━━━━━━━━━━┓ ┏━━━━━━━━━━━━┓
┃┃           ┃ ┣━━━━━━━━━━━┓┃
┃┃9の時        ┣━┫スタッフスクロール表示┃┃
┃┃           ┃ ┣━━━━━━━━━━━┛┃
┃┣━━━━━━━━━━━┛ ┣━━━━━━━━━━━━┛
┃┃             ┣━━━━━━━━━━━━┓
┃┃             ┃            ┃
┃┃             ┃ RETURN     ┃
┃┃             ┃            ┃
┃┃             ┗━━━━━━━━━━━━┛
┃┣━━━━━━━━━━━┓ ┏━━━━━━━━━━━━┓
┃┃           ┃ ┣━━━━━━━━━━━┓┃
┃┃10の時       ┣━┫ キー入力待ち    ┃┃
┃┃           ┃ ┣━━━━━━━━━━━┛┃
┣┻━━━━━━━━━━━┛ ┣━━━━━━━━━━━━┛
┃              ┣━━━━━━━━━━━━┓
┃              ┃            ┃
┃              ┃ RETURN     ┃
┃              ┃            ┃
┃              ┗━━━━━━━━━━━━┛
┣━━━━━━━━━━━━┓
┃            ┃
┃ RETURN     ┃
┃            ┃
┗━━━━━━━━━━━━┛




■新しく使用された図式の意味は次の通りです。

■APAD書式
プロセス
┏━━━━━━━━━┓
┃         ┃
┃ プロセス詳細  ┃
┃         ┃
┗━━━━━━━━━┛

プロセスはプロセスの詳細を表します。
具体的な内容を記述します。