C言語ゲームプログラミング
HOME >> COMPUTER関連 >> C言語ゲームプログラミング
***2007/8/21 Vista対応版Study C Ver2.1をアップロードしました***
Study C Ver2.0をお使いの方は、サンプル版をダウンロードしバージョンアップすることができます。
Study C Ver2.1のダウンロード
Study C Ver2の新しい機能については、こちらをご参照ください。
Study C Ver2のご購入は、こちらをご参照ください。

C言語でゲームを作成する方法を学習するための入門講座です。 Windowsで動作するグラフィカルなゲームの作り方を入門からわかりやすく解説しています。

Study C Ver2販売開始のお知らせ

 C言語の勉強や教育用に最適です。
 2004/8/23よりStudy C Ver2の販売を開始しました。
 Study C Ver2の新しい機能については
 こちらをご参照ください。

お知らせ
 
◇◇◇ Study C Ver2販売のご案内 ◇◇◇
C言語インタープリタ/エディタ/デバッガを一体化させたC言語学習環境
Study C for Windows 9x/Me/XP(IBM-PC互換機用)はインターネット上で購入が可能です。
◇◇◇ Study Cの教育機関などでの採用実績  ◇◇◇

◆◆◆ C言語ゲームプログラミング ◆◆◆
 
・C言語は、ある程度理解できているでしょうか
 C言語については、C言語学習塾で解説しております。

・C言語ゲームプログラミングを勉強するための手順
 Study Cを購入していただくか、サンプル版をダウンロードしセットアップします。

Study Cについて...
Study Cで作成してみたゲームです。この程度のゲームをStudy Cで作成することができます。
   
・上のブロックくずしゲームで遊んでみたい方は、EXEファイルをここからダウンロードできます。
・上のシューティングゲームで遊んでみたい方は、EXEファイルをここからダウンロードできます。
・特別C言語講座がアクセス可能な方は、下記からこのゲームのソースプログラムをダウンロードできます。

・個人レベルで開発可能なゲームの実行環境をまとめてみました。
 以外と知られていませんがNitendo DSPSPなど市販のゲーム機を含め、色々な環境でプログラムを作成することができます。

・Study Cに添付されているブロック崩しゲームをゲームボーイアドバンス(GBA)に移植してみました。
 GBAに移植したブロック崩しゲームは、こちらからダウンロードできます(2日弱で移植できました)。
 ゲームをゲームボーイアドバンスが無くても、Windows上のGBAエミュレータを使って実行することができます。
 特別C言語講座には、GBA用プログラムの開発環境などについての解説と移植したブロック崩しゲームのソースを公開しております。
 Windowsゲームだけでなく、ゲームボーイアドバンス用のゲームも作れるようになる?かもしれません。


◇◇◇ C言語ゲームプログラミング講座 ◇◇◇
はじめに 下記でゲームプログラミングの準備を整えてください。
  (1)個人レベルで開発可能なゲームの実行環境をまとめてみました。
以外と知られていませんがNitendo DSPSPなど市販のゲーム機を含め、色々な環境でプログラムを作成することができます。

(2)C言語はある程度理解しているでしょうか?
C言語自体の解説ページも用意してあります。

(3)C言語検定試験(入門編)
○×問題が出題されるので、あなたの実力を判定してみてください。ちょっと難しくしすぎてしまいました。 あまり点数は気にしないで、関連事項の勉強と思ってチャレンジしてみてください。
C言語検定試験
第1回講座
  1.ゲームを作成するのに必要な基本機能
2.ゲーム用ウィンドウの作成
3.ウィンドウのクローズ
4.ビットマップファイル
第2回講座
  1.ビットマップファイルのロード
2.ビットマップの描画
第3回講座
  1.ビットマップ描画の練習
2.ビットマップファイルの作成
第4回講座
  1.表示した絵の消し方
2.絵の移動
第5回講座
  1.ボールの移動
2.処理速度の調整
3.待ち時間と移動量
第6回講座
  1.壁で反射するボール
2.上下左右の壁で反射するボール
第7回講座
  1.キー入力
2.キー状態の取得
第8回講座
  1.キー入力で上下左右に動くボール
2.マウスのボタン状態の取得
課題1
  今までの講座の内容で次のプログラムを作成してください。
(1)ボールは上左右の壁で反射(ボールは斜めに移動)します。
(2)下部にはラケット(横長の四角)が表示されカーソル左右キーで左右に移動します。
(3)ボールが下部へ移動しラケットに当たると反射します。
(4)ラケットに当たらなかった場合は、ビープ音(MessageBeep(0)を使用)をならしてプログラムを終了させます。

下記のような感じで作成してください。

特別C言語講座内に解答例を用意しました(自分で作ってみるまでは見ないようにしましょう)。
ソースファイル ゲームソースファイルのダウンロード
 
特別C言語講座がアクセス可能な方にブロックくずしゲームとシューティングゲームプログラムのソースファイルを用意しました。
まだコメントなど入れてませんが、参考にしてください。

ブロックくずしゲームソースファイル
シューティングゲームのソースファイル

Ver1.09a以降で使用してください。
・ソースファイルとビットマップファイルが展開されます。
・ディレクトリを作成して展開した場合は、Study C内でそのディレクトリへ移動(cdコマンドを使用)してから実行してください。
例)C:\StudyC\MyProg\>cd BLOCK

第9回講座
  1.マウスカーソル位置の取得
第10回講座
  1.効果音を鳴らす
2.BGMの演奏
第11回講座
  1.テキストの描画
2.ゲームスコアの描画
課題2
  今までの講座の内容で、課題1のプログラムを次のように改造してください。
(1)ボールが上左右の壁で反射したときは、効果音を鳴らします。
(2)ラケットで反射した場合は、別の効果音を鳴らします。
(3)ウィンドウの右側にスコアを表示するエリアを作成します。
(4)ラケットに当たるたびに1点ずつスコアをアップさせます。
(5)ラケットはマウスの動きにあわせて左右に動くようにします。

下記のような感じで作成してください。

特別C言語講座内に解答例を用意しました(自分で作ってみるまでは見ないようにしましょう)。
第12回講座
  1.背景上にビットマップを重ねて表示
2.マスクパターンビットマップを使用しての表示
第13回講座
  1.背景のあるウィンドウでのビットマップの移動
2.背景の再描画
第14回講座
  1.Study C Ver2のビットマップファイル作成/編集支援機能
2.ビットマップファイルの新規作成
3.ビットマップファイルのマスクパターン作成
4.既存ビットマップファイルの編集
第15回講座
  1.main作成ウィザード
2.マスクパターン付きビットマップ表示プログラムの作成
ライブラリ Study Cで作成したゲームプログラムをBorland CやVisual Cでコンパイルすることができるようにライブラリ
  Study Cで作成したゲームプログラムをBorland CやVisual Cでコンパイルすることができるようにライブラリを用意しました。
特別C言語講座にアクセス可能な方は、無料でダウンロードできるのでぜひご利用ください(ライブラリをリンクしたEXEファイルは自由に配布することができます)。
このページに掲載されているプログラムもコンパイルすることができます(プログラムの修正もほとんど必要ありません)。
GBA用ゲーム Study Cに添付されるいるブロック崩しゲームをゲームボーイアドバンス(GBA)に移植してみました。
  GBA用ブロック崩しゲームのダウンロード
ゲームをゲームボーイアドバンスが無くても、Windows上のGBAエミュレータを使って実行することができます。

特別C言語講座には、GBA用プログラムの開発環境などについての解説と 移植したブロック崩しゲームのソースを公開しております。
Windowsゲームだけでなく、ゲームボーイアドバンス用のゲームも作れるようになる?かもしれません。



◇◇◇ グラフィック関連の関数リファレンス ◇◇◇
設定/初期化関連の関数
gl_closewin グラフィックウィンドウのクローズ gl_modeset グラフィックのモード設定
gl_openwin グラフィックウィンドウのオープン gl_refresh 画面の再描画
ビットマップ描画関連の関数
gl_drawbitmap ビットマップの描画 gl_freebitmap ビットマップデータの解放
gl_loadbitmap ビットマップファイルの読み込み gl_maskdrawbitmap マスク機能付きビットマップの描画
図形/文字描画関数
gl_arc 弧を描画 gl_chord 弓形の描画
gl_ellipse 楕円形を描画 gl_fillrect 長方形を描き塗りつぶす
gl_floodfill 領域の塗りつぶし gl_line 線の描画
gl_pie 扇形を描画 gl_rectangle 長方形を描画
gl_setpixel ピクセルの描画 gl_textout 文字列の描画
サウンド関連の関数
gl_playbgm BGMの再生 gl_playsound サウンドの再生
gl_stopbgm BGM再生の停止
その他の関数
gl_getcursorpos マウスカーソル位置の取得 gl_getkeystate キーボードの状態を取得
gl_getmousepos ウィンドウ内でのマウスカーソル位置の取得 gl_getpixel ピクセル値の取得
gl_textmetric フォント形状の取得

◇◇◇ Study C Ver2の新しい機能 ◇◇◇
第1章 main作成Wizard
  1-1 最初のダイアログボックス
1-2 2番目のダイアログボックス
1-3 3番目のダイアログボックス
1-4 確認用ダイアログボックス
1-5 作成したmain関数のエディット
第2章 関数リファレンス
  2-1 関数リファレンス検索ダイアログボックス
2-2 関数リファレンス表示ダイアログボックス
2-3 エディタからの関数リファレンス表示
2-4 blistコマンドでの関数リファレンス表示
第3章 環境設定
  3-1 設定変更ダイアログボックス
3-2 実行時の設定変更ダイアログボックス
第4章 プログラム実行
  4-1 パラメータ入力ダイアログボックス
4-2 バッファ切り換えダイアログボックス
4-3 エラー/警告解説ダイアログボックス
4-4 その他の変更点
第5章 その他
  5-1 新規作成ダイアログボックス
5-2 ビットマップファイル編集ダイアログボックス
5-3 エディタの変更点
5-4 メニュー
5-5 その他


■C言語自体の勉強は、C言語学習塾のページをご利用ください。


■使用条件
・潟Iーキッドのホームページに掲載されている全てのドキュメントに関する複製、改変、他への引用、再使用はできません。
・潟Iーキッドのホームページに掲載されている全てのドキュメントは営利、営業目的の使用を禁止します。 学校、講習会、社員研修などの教材として使用することも禁止します。 あくまでも、個人的にC言語を学習する目的でのみ使用してください(ただし、たとえ営利目的の講習会などでも、教材としてStudy Cを購入して使用場合は使用を許可します)。
・オーキッドのホームページ(Webページ)内に含まれるすべての情報(文書)について、著作権保有者及び配布者はなんら保証を致しません。 情報(文書)を利用することにより発生した、いかなる損害や逸失利益に対して著作権保有者及び配布者はいっさいの責任を負いません。利用者自身の責任でご利用下さい。
Copyright(C) 2000-2007 潟Iーキッド

このページ(http://www.orchid.co.jp/computer/cgame/index.html) へのリンクはご自由にお貼りください。確認の必要はありません。この表示がない ページはファイル名などを変更する可能性があります。

本サイトの内容は、ブラウザを手動で操作して1ページづつご覧になってください。巡回ソフトや一括ダウンロードソフトは使用しないでください。
広告の内容に関しては弊社はいっさい無関係です。 広告主に責任があり弊社は生じた損害等についていっさい責任は負いません
お問い合わせ先 ORCHIDのホームページ |  コンピュータ関連のページ |  ソフトウェア製品 Copyright(C) 2007-2008 潟Iーキッド


■迷惑メール対策の効果が出てきたのでメールによるお問い合わせを再開しました( wmaster@orchid.co.jp)。
送信できない場合はお問い合わせ先ページをご利用ください。