ポンクソフト

C言語とelで様々なゲームを作ろう

C言語とelで様々なゲームを作ろう TOP 次ページ

目次

  1. C言語とelで様々なゲームを作ろう
  2. Visual C++ .NET での設定
  3. テンプレートファイルの解説
  4. シューティングゲームの作成(チュートリアル)
  5. パックマン的ゲームの作成(チュートリアル)
  6. ブロック崩しの作成
  7. 15パズルの作成
  8. 横スクロールジャンピングゲームの作成
  9. オセロの作成
  10. 神経衰弱の作成
  11. 7ならべの作成
  12. テトリスの作成
  13. ぷよぷよの作成

はじめに

対象

基本的なC言語の構文を理解している人。

この講座の目的

C言語と Easy Link Library による様々なゲーム作りを通してゲームプログラミングの手法を学ぶ。

用意するもの

C/C++コンパイラ

この講座では Visual C++ 6.0 で開発することを前提とします。その他のコンパイラの場合は適宜読み替えてください。

DirectX SDK

ゲームを開発するための基本となる開発キットです。
雑誌のCD-ROMなどから入手するか、http://www.microsoft.com/japan/developer/directx/downloads.asp からダウンロードして入手してください。Visual C++ にも添付されていますが、古いバージョンなのでなるべく新しいものを入手してください。DirectX7 SDK 以降を推奨します。

Easy Link Library

DirectXは高度な処理ができる反面、初心者には敷居が高いものです。そこで、DirectX の機能を簡単に扱えるようにしたゲームライブラリが Botcy さん作の Easy Link Library です。閉鎖されたようなので、自サイトからダウンロードできるようにしました。

最初のセットアップ

Visual C++ .NET の場合はこちらを参照してください。

Easy Link Library のセットアップ

Botcy World さんから el本体(EL.LZH) をダウンロードし、適当なディレクトリに解凍します。

DirectX のセットアップ

まず DirectX をインストールしてください。
ランタイムの選択では、Debug を選択すると開発中のデバッグが容易になります。ただし速度が落ちるので、必要のない人は Retail を選択してください。インストール後に切り替えることもできます。

Visual C++ の設定

Visual C++ を起動し、メニューの「ツール」→「オプション」から「ディレクトリ」タブを選び、「表示するディレクトリ」の項目を「インクルードファイル」にします。新規作成アイコン(点線に光)をクリックし、右に「...」のアイコンが現れたらそれをクリックします。するとフォルダ選択画面になるので、el.h をコピーした場所を選択します。
↓D:\Src\el に Easy Link Library をコピーした場合
option_dir.gif

プロジェクトのセットアップ

以下の作業は、新しいプロジェクトを作成するたびに必要となります。

新規プロジェクトの生成

メニューの「ファイル」→「新規作成」より「プロジェクト」タブを選び、「Win32 Application」を選択します。プロジェクト名にゲームの名前(半角英数字)を入力し(下図の例では「game1」)、OKを押します。次に、「空のプロジェクト」を選択して終了ボタンを押します。
new_project.gif

DirectX ライブラリをプロジェクトに追加する

メニューの「プロジェクト」→「設定」より「リンク」タブをクリックし、「オブジェクト/ライブラリモジュール」の先頭に「winmm.lib ddraw.lib dsound.lib」の3つのライブラリを追加し、OKを押します。
project_link.gif

ソースファイルの作成

メニューの「ファイル」→「新規作成」から「ファイル」タブを選び、「C++ソースファイル」を選択します。「プロジェクトに追加」がチェックされていなければチェックし、適当なファイル名をつけ、OKを押します。
el ソースのひな型となるファイルがこちら (template.cpp) にあるので新規作成したソースファイルに内容をコピーする。

テスト実行

コンパイル・実行してみて、エラーが出ないことを確認する。
C言語とelで様々なゲームを作ろう TOP 次ページ
このエントリーをはてなブックマークに追加 そっか0

このページに関するコメントをどうぞ

お名前:


しお
vectorではなくlistを使っているのはなぜなのでしょうか?
2017/05/07 19:06

surach
なぜ弾のX座標が sx = px + 24;で時機の中央になるんですか?
2017/05/05 11:09

何度やってもできないー^^
ファイルが見つかりませんとなるのですが・・・
どうすれば?
2017/01/20 17:23

ww
dxlibは外部から自分で導入するものです。しっかり導入しましたか?
2016/12/26 12:29

ww
IncludePathとLibraryPathはdxライブラリを導入したときのフォルダパスが間違っているため、dxlib.hがあるフォルダパスを設定しなおせば動きます。
2016/12/26 12:28

ww
MTdは、プロジェクトのプロパティの設定項目から変更できる。
Debugモードの設定が、違うようですね↓
2016/12/26 12:26

笑子
実行したところ、白い画面が出てきてしまいます。解決策は、あるのでしょうか?
2016/11/10 23:38


背景を挿入したいのですが,どこにどんな風にプログラムを加えればいいのでしょうか?
2016/09/24 21:44

華仙 学
オセロプログラムに関してです。
Visual Studio 2015を使ってます。このプログラムを打ち込んだところ、「'RuntimeLibrary'の不一致が検出されました。値'MTd_StaticDebug'がMDd_DynamicDebugの値'othello.obj'と一致しません」と出てしまいます。いろいろ調べていますがなかなか解決しません。何か解決策はあるでしょうか?
2016/08/17 21:12

あたる
さらにいいゲームを教えてほしいですね。
2016/08/11 13:00

残りを読む »