C言語ゲームプログラミング 第1回講座




2014年10月より個人の方を対象に、Study C無料提供を開始しました。
C言語を勉強中の方は、学習・教育に最適なC言語インタープリタのStudy Cを使ってみてください(個人の方は無料です)。
大学・高専・高校などの教育機関での採用実績も多数あるロングセラー商品Study Cが、個人向けに無料提供を始めました。
インタープリタの手軽さに加え、ゲームや3Dタートルグラフィックで楽しく勉強したりと、C言語の学習を協力にサポートします。
ブロック崩しゲーム 3Dツリー クリスマスツリー
また、このようなボタンの用意されているページでは、掲載しているプログラムをStudy Cに直接ロードし実行したりすることができます。
Study Cにロードする Study Cにロードし編集する Study Cにロードし実行する
Study C無料利用についての詳細は、このページを参照してください。



1.ゲームを作成するのに必要な基本機能

PCで動作する、簡単なゲームを作る上で必要と思われる機能として次のような物が考えられます。
(1)画面(ウィンドウ)へのグラフィック表示機能
(2)ユーザの操作(キーボード、マウス)を検出する機能
(3)サウンド(効果音、BGM)機能

Study Cでは、いずれも簡単に実現できる機能を用意しました。
まず今回は、ウィンドウへのグラフィック表示の基礎を解説します。


2.ゲーム用ウィンドウの作成

Windowsでは、まずゲーム用のウィンドウを作成する必要があります。 全画面でのゲームも考えられますが、ゲーム作りの勉強なのでウィンドウ内での実行とします。 新しく追加した、ゲーム(グラフィックなど)に使用する関数は、gl_で始まる名前になっています。 ウィンドウを作成する関数は次の関数を使用します。 またグラフィック関数を使用する場合は、graph.hファイルをインクルードして使用します。

gl_openwin(px, py, sx, sy, mode);
px、py : ウィンドウ作成時にウィンドウを表示する位置を指定します。
         指定する必要が無い場合は-1を指定します。
sx、sy : ウィンドウのサイズを指定します。
mode   : ゲームのような画面を描くスピードを早くしたい場合は、0を指定します。
         それ以外は1を指定します(モードに関しては後でもう一度説明します)。
         いずれもint型で指定します。

例)
gl_openwin(-1, -1, 400, 300, 0);
表示位置を指定せずに横400、縦300ドットのサイズのウィンドウを表示します。
モードは0なので描画スピードを要求するゲームなどに適しています。

gl_openwin(200, 100, 600, 480, 1);
画面の左上から横200、縦100ドットの位置に横400、縦300ドットのサイズの
ウィンドウを表示します。
モードは1なので描画スピードを要求するプログラムにはむいていません。


3.ウィンドウのクローズ

Study Cを終了させれば自動的にウィンドウが表示されるので、特にウィンドウをクローズする処理は必要ありませんが、 gl_closewin()関数でウィンドウをクローズすることができます。

#include <graph.h>

main()
{
        gl_openwin(-1, -1, 640, 480, 0);
        getchar();
        gl_closewin();
}

上のプログラムを実行すると、640×480のサイズのウィンドウが作成されます。 ここで、Enterキーを押すとgl_closewin()関数で作成されたウィンドウがクローズされます。


4.ビットマップファイル

ウィンドウへ絵を表示するには、表示する絵を用意する必要があります。 Study Cで使用する絵のデータは、ビットマップファイルを使用します。 ビットマップファイルは、Windowsに標準で付属するペイントプログラムなどで作成することができます。 Windowsをインストールしたディレクトリの下に幾つかのビットマップファイルが用意されているので、ペイントプログラムで表示してみましょう。

ペイントプログラムを起動して(スタートメニューの「プログラム」→「アクセサリ」→「ペイント」から起動します)ファイル(F)メニューの開でWindowsをインストールしたディレクトリ(普通はC:\Windows)を表示してください。 拡張子がbmpのファイルが(これがビットマップ形式のファイルです)幾つかあると思います。

ビットマップファイルの選択


どのファイルでも良いのですが、ここでは「赤レンガ.bmp」というファイルを選択して開いてください。 ペイントの画面にビットマップファイルが表示されます。 ここで、変形(I)メニューの「キャンパスの色とサイズ」を選択してください。 幅54、高さ96と表示されます(これがこのビットマップファイルのサイズです)。

ビットマップファイルの選択例


次回はこのビットマップファイルをStudy Cが作成したウィンドウ上に表示します。