練習問題

問題1

設問1.
01から02までを初めからやり直し、ミスすることなくすべての修正が行えるかどうか確かめなさい。
設問2.
UpdateFrame関数のキー情報取得処理の下に次のプログラムを追加し、UpdateFrame関数がゲーム・ループによって無限ループしているかどうか確かめなさい。

OutputDebugString("UpdateFrame関数を実行\n");

設問3.
UpdateFrame関数を修正し、カーソルキー(上下左右)、スペースキー、リターンキーが押されたらOutputDebugString関数でどのキーが押されたかを表示させなさい。
設問4.
ゲーム画面初期化処理関数(GameInit)およびゲーム画面処理関数(GameFrame)を作成し、スタート処理中に「Z」キーを押したらゲーム処理へ、ゲーム処理中に「Q」キーを押したらスタート処理へ移るようプログラムを修正しなさい。今どの関数を実行しているかはOutputDebugString関数で分かるようにすること。

問題2

以下の各設問の答えを「メモ帳」などを用いテキストデータとして入力しなさい。授業資料のコピー&ペーストでなく、自分の言葉で入力すること。

設問1.
Windowプログラムのメッセージ・ループとゲームプログラムのゲーム・ループには大きな違いがある。その違いを説明しなさい。
設問2.
キーボードの状態を取得する方法は3種類ある(ゲームに向いているのは2種類)。3種類それぞれの取得方法を説明しなさい。
設問3.
ゲームプログラミングにおける「状態別処理」とは何か、説明しなさい。

BACK(状態別処理の考え方とプログラム)