テンプレートファイルの解説 - C言語とelで様々なゲームを作ろう
目次
- C言語とelで様々なゲームを作ろう
- Visual C++ .NET での設定
- テンプレートファイルの解説
- シューティングゲームの作成(チュートリアル)
- パックマン的ゲームの作成(チュートリアル)
- ブロック崩しの作成
- 15パズルの作成
- 横スクロールジャンピングゲームの作成
- オセロの作成
- 神経衰弱の作成
- 7ならべの作成
- テトリスの作成
- ぷよぷよの作成
解説
ソースファイルのひな型となる template.cpp の解説をします。
先頭部分
#include "el.h"
Easy Link Library を読み込んでいる部分です。
#define MAIN_SCREEN 1
el はタイトル画面、ゲームメイン画面、ゲームオーバー画面など、それぞれの画面を分けて管理する手法を取っています。ここではゲームメイン画面の定数を定義しています。
void MainScreen(void);
ゲームメイン画面を処理する関数のプロトタイプです。
メイン関数
プログラムを起動すると、このメイン関数が立ち上がります。メイン関数が終了すると、プログラムも終了します。
int elMain("タイトル");
引数にゲームのタイトルを書くと、ゲームをウインドウ表示した場合にこのタイトルが表示されます。
elWindow(640, 480, FALSE);
デフォルトではゲーム画面はフルスクリーンですが、この関数を書くとウインドウ表示されます。ウインドウのサイズは 640 × 480 ピクセルになります。3番目の引数を TRUE にすると、マウスの動きがウインドウ内に限定されます。
elLoop()
この関数がループをして、実際にアプリケーションが動作します。この中に画面を処理する関数を記述します。
elSetScreen(MAIN_SCREEN, MainScreen());
各画面を処理する関数に画面番号を割り当てます。第1引数に画面番号、第2引数に画面を処理する関数を記述します。
elExitMain();
メイン関数の後処理を行ないます。
ウインドウ生成関数
ウインドウが生成される直前に一度だけ呼び出される関数です。プログラムの初期化などをここで行ないます。
elDraw::Screen(640, 480);
画面の解像度を 640 × 480 ピクセルに設定しています。elWindow を使用する場合は、両方のサイズを統一してください。
elCallScreen(MAIN_SCREEN);
この関数は画面を引数で指定した画面番号に切り替える関数です。ここではゲームメイン画面へ切り替えています。
キーボード関数
void elKeyboard(void)
キーボードイベントを処理する関数です。ゲームの場合はイベントではなく直接キーの値を見に行く場合が多いので、この関数を書き換えることはあまりないと思います。
イベント関数
long elEvent(void)
イベントが発生すると呼ばれる関数です。特別なイベント処理をしたいときにここを使います。
メイン画面
void MainScreen(void)
ゲームのメインとなる部分です。画面番号で指定された画面関数が、ゲーム中は繰り返し呼び出されます。
elDraw::Clear();
画面全体を黒で初期化します。
SHOW(0, 0, "ESCキーで終了");
画面左上にメッセージを表示します。
elDraw::Refresh();
画面をリフレッシュします。実際のゲームでは elDraw::Clear から elDraw::Refresh の間にゲームの描画処理を行ないます。