2Dゲームの作り方

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
みー

2Dゲームの作り方

#1

投稿記事 by みー » 16年前

[color=orange>
C言語で画像などを表示する場合DirectXなどの手助けが必要になりますょね。
そこで僕はhttp://dixq.net/g/に載っていたDXライブラリというものを利用しようと思ったのですが、僕はBCCとメモ帳を使っていてBCC Developerを使う気がまったくありません。
そしてここに書いてあるやり方はBCC Developerを使ったやり方なのでBCCのみを使った場合どうしたらいいのかよくわかりません。
一度自分なりにやってみようと重い、DXライブラリをダウンロードしてパスを通してみたのですが
//c.c
#include "Dxlib.h"
int WINAPI WinMain
(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, Int nCmdShow)
{
if (DxLib_Init()==-1) return 1;
DrawPixel(320,240,0xffff);
WaitKey();
DxLib_End();
return 0;
}

//コンパイル結果
Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
c.c:
エラー E2141 \Borland\Dxlib\Substance\DxDirectX.h 927: 宣言の構文エラー
エラー E2141 \Borland\Dxlib\Substance\DxDirectX.h 941: 宣言の構文エラー
エラー E2141 \Borland\Dxlib\Substance\DxDirectX.h 947: 宣言の構文エラー
エラー E2141 \Borland\Dxlib\Substance\DxDirectX.h 970: 宣言の構文エラー
エラー E2141 \Borland\Dxlib\Substance\DxDirectX.h 978: 宣言の構文エラー
エラー E2141 \Borland\Dxlib\Substance\DxDirectX.h 1060: 宣言の構文エラー
エラー E2141 \Borland\Dxlib\Substance\DxDirectX.h 1074: 宣言の構文エラー
エラー E2141 \Borland\Dxlib\Substance\DxDirectX.h 1080: 宣言の構文エラー
エラー E2141 \Borland\Dxlib\Substance\DxDirectX.h 1090: 宣言の構文エラー
エラー E2141 \Borland\Dxlib\Substance\DxDirectX.h 1118: 宣言の構文エラー
エラー E2141 \Borland\Dxlib\Substance\DxDirectX.h 1128: 宣言の構文エラー
エラー E2141 \Borland\Dxlib\Substance\DxDirectX.h 1142: 宣言の構文エラー
エラー E2141 \Borland\Dxlib\Substance\DxDirectX.h 1150: 宣言の構文エラー
エラー E2141 \Borland\Dxlib\Substance\DxDirectX.h 1196: 宣言の構文エラー
エラー E2139 \Borland\Dxlib\Substance\DxDirectX.h 1549: 宣言に ; がない
エラー E2139 \Borland\Dxlib\Substance\DxDirectX.h 1555: 宣言に ; がない
エラー E2238 \Borland\Dxlib\Substance\DxDirectX.h 1556: 'class' の宣言が複数見つかった
エラー E2344 \Borland\Dxlib\Substance\DxDirectX.h 1549: 一つ前の 'class' の定義位置
エラー E2139 \Borland\Dxlib\Substance\DxDirectX.h 1564: 宣言に ; がない
エラー E2238 \Borland\Dxlib\Substance\DxDirectX.h 1565: 'class' の宣言が複数見つかった
エラー E2344 \Borland\Dxlib\Substance\DxDirectX.h 1549: 一つ前の 'class' の定義位置
エラー E2139 \Borland\Dxlib\Substance\DxDirectX.h 1570: 宣言に ; がない
エラー E2238 \Borland\Dxlib\Substance\DxDirectX.h 1571: 'class' の宣言が複数見つかった
エラー E2344 \Borland\Dxlib\Substance\DxDirectX.h 1549: 一つ前の 'class' の定義位置
エラー E2139 \Borland\Dxlib\Substance\DxDirectX.h 1577: 宣言に ; がない
エラー E2228 \Borland\Dxlib\Substance\DxDirectX.h 1577: エラーあるいは警告が多すぎる
*** 26 errors in Compile ***
Error!!
このとおり見事に失敗しました。
このエラーの意味もわからず、Yahoo!知恵袋で聞いても返ってこないのであきらめていたのですがこの掲示板を見つけたので質問させていただきました。

別にDXライブラリでなくてもよいので2Dゲームもしくは3Dゲームが作れる(画像などの出力ができる)ライブラリを教えていただけませんか??
OSはWindows XP SP3. コンパイラはBorland C++ Compilerです。
[/color]

バグ

Re:2Dゲームの作り方

#2

投稿記事 by バグ » 16年前

画像を標準したり音楽を再生したりするだけなら、WINAPIだけでも問題ないのでは?
それよりも何故、BCCデベロッパーやVisualStudioを使おうとしないのかがよく分からないです。しなくて良い苦労をしているように感じます(^_^;)

Justy

Re:2Dゲームの作り方

#3

投稿記事 by Justy » 16年前

 とりあえずソースコードの拡張子を .cppにして再チャレンジ!

s-rush

Re:2Dゲームの作り方

#4

投稿記事 by s-rush » 16年前

エディタにメモ帳を使用しているみたいですが、
ゲームのような大規模なプログラムを書くのであれば、
ちょっとメモ帳では機能が不十分だと思います。
(不十分というより面倒が多いといった方がいいかもしれません)

BCC DeveloperやVicual Studioのようなものを使われた方がいいと思いますよ。

個人的にはVC++ 2008がおすすめです。

みー

Re:2Dゲームの作り方

#5

投稿記事 by みー » 16年前

cppファイルにしてみた結果エラーがひとつになりましたが、これは設定の問題でしょうか??

Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
c.cpp:
警告 W8094 \Borland\Dxlib\Substance\Dxlib.h 79: #pragma comment( <type> [,"string"] ) の使用法に誤りがある
警告 W8094 \Borland\Dxlib\Substance\Dxlib.h 80: #pragma comment( <type> [,"string"] ) の使用法に誤りがある
警告 W8094 \Borland\Dxlib\Substance\Dxlib.h 81: #pragma comment( <type> [,"string"] ) の使用法に誤りがある
警告 W8057 c.cpp 10: パラメータ 'hInst' は一度も使用されない(関数 __stdcall WinMain(HINSTANCE__ *,HINSTANCE__ *,char *,int) )
警告 W8057 c.cpp 10: パラメータ 'hPrevInst' は一度も使用されない(関数 __stdcall WinMain(HINSTANCE__ *,HINSTANCE__ *,char *,int) )
警告 W8057 c.cpp 10: パラメータ 'pCmdLine' は一度も使用されない(関数 __stdcall WinMain(HINSTANCE__ *,HINSTANCE__ *,char *,int) )
警告 W8057 c.cpp 10: パラメータ 'showCmd' は一度も使用されない(関数 __stdcall WinMain(HINSTANCE__ *,HINSTANCE__ *,char *,int) )
Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland
Fatal: ファイル LIBTHEORA_STATIC.LIB が開けません
Error!!

解決法をお願いしますm(__)m

それから開発環境を使わない理由ですか。。。くだらないですが
例えばコンパイラとメモ帳しか手元にない状況で「いつもと同じことをやれ」と言われたときに「開発環境がなきゃできない」なんてかっこわるいじゃないですか。
最低限の設備さえあれば何でもできるようになりたいなwと思って。というのが理由です。

これは僕の意地で、くだらないと言われればそれまでですが、僕はこのスタイルが好きなのでこれで行きたいと思っています。
だけど開発環境を使わなければこういったものができないというのであればこのスタイルはやめようと思います。

SooA

Re:2Dゲームの作り方

#6

投稿記事 by SooA » 16年前

DXライブラリ本家でも同じ質問されてますよね?
未解決にせよ終了させておくのが筋かと思いますよ。
ここの規約違反にもなりますし。

http://homepage2.nifty.com/natupaji/DxLib/
あと本家使い方をよく読んでみましょう。

SCI

Re:2Dゲームの作り方

#7

投稿記事 by SCI » 16年前

>開発環境云々
C/C++のような高級言語でしか開発できないのはかっこわるいですよ。機械語で何でもできるべきです。

みー

Re:2Dゲームの作り方

#8

投稿記事 by みー » 16年前

SooAさん>>
もうしわけありません。
しかしまったく回答がないというのも、どう終了させていいのかわからなくて。。。
利用規約とかも向こうのほうでは書いてないようですし。勝手にリンク張っていくのもだめですょね。。
編集できても消せないみたいですし。
どうしましょうか。。。。。。

SCIさん>>
それも何度か考えましたが、機械語ってどうやって組むんですか??
あなたの言っている機械語というのはアセンブラのことですか??それとも本物の機械語ですか??
アセンブラは多少入門サイトみたいのがありましたが、機械語そのものは見つからなくて。。

s-rush

Re:2Dゲームの作り方

#9

投稿記事 by s-rush » 16年前

機械語の組み方は知りませんが、0と1の羅列のプログラムですよ。

アセンブラは確か低級言語と呼ばれていたような覚えがあります。
(違ったらごめんなさい)

SCI

Re:2Dゲームの作り方

#10

投稿記事 by SCI » 16年前

みーさん
>リンク
リンクが貼り辛かったら、別の場所で同じ話題を展開している旨は書いておくといいかも知れません。

>機械語
機械語は機械語です。CPUの仕様書でも手に入れてハンドアセンブルすれば近いことはできるのではないでしょうか。

みー

Re:2Dゲームの作り方

#11

投稿記事 by みー » 16年前

SCIさん>>
アドバイスありがとうございました。とりあえず
「あまり返信がないようなのでほかの掲示板でも聞いています。」
と書いておきました。


とりあえずnasmとアセンブリ言語の参考書は持っていますが最近はC言語ばっかり使っているのでアセンブラは全然使えませんね。。。
まだ32ビットのプログラムが組めないのでDOSのプロンプトでのドライブ移動がわからないのと重なって使う気もでません(C言語のほうが楽ですし)。

みー

Re:2Dゲームの作り方

#12

投稿記事 by みー » 16年前

ちょっと思い当たる節があって変更してみたら違うエラーが出ました。

Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland
Error: 外部シンボル '_main' が未解決(E:\BORLAND\LIB\C0X32.OBJ が参照)

SCI

Re:2Dゲームの作り方

#13

投稿記事 by SCI » 16年前

掲示板は終了させました?同時進行になってしまうのはまずいので・・・

御津凪

Re:2Dゲームの作り方

#14

投稿記事 by 御津凪 » 16年前

コマンドプロンプトで直接コンパイルしてますよね?
コマンドラインオプションを使って Windows アプリケーションとしてコンパイルしてください。
何も指定しないとコンソールアプリケーションを作成しようとします。



…ちなみに私の勤めているゲーム会社で聞いた話ですが、
面接でプログラムを書くのにメモ帳を使ってます、という方がいたそうですが、
「さすがにそれはないわ…」とあきれていたそうです。
(哀れみの意味で)
どうやらその方は通っていた専門学校でもメモ帳を使い続けていたそうです。


せめて、高機能エディタ辺りを使いこなしたほうがいいと思います。
そういうものは職場についてから愛用のエディタを探すより、
先に手にしたほうが良いです。

# 環境に応じてエディタを使い分ける方もいます。

みー

Re:2Dゲームの作り方

#15

投稿記事 by みー » 16年前

SCIさん>>
終了させてきました。

それよりなんかBCCを使い始めたころに見たことがあるようなエラーですが気のせいでしょうか??

SCI

Re:2Dゲームの作り方

#16

投稿記事 by SCI » 16年前

DXライブラリはBCC用を使っていますよね?

みー

Re:2Dゲームの作り方

#17

投稿記事 by みー » 16年前

御津凪さん>>
できました!!
ありがとうございます。
全画面表示になるけどこれってそういうものなんですょね。

朽木

Re:2Dゲームの作り方

#18

投稿記事 by 朽木 » 16年前

解決方法とか書いた方が良いんじゃないでしょうか。

あと、全画面になってしまうのは、

int ChangeWindowMode( int Flag ) ; ( true -> ウインドウ, false -> フルスクリーン(デフォルト) )

を使っていないからではないでしょうか。

みー

Re:2Dゲームの作り方

#19

投稿記事 by みー » 16年前

朽木さん>>
めっちゃバグってましたがなんとかウィンドウモードで実行できました。

解決策:
DXライブラリにパスを通し、コンパイル時には-Wスイッチを使い、cppファイルとしてコンパイルする。
といったところですか.....??

みー

Re:2Dゲームの作り方

#20

投稿記事 by みー » 16年前

というわけで皆様ご協力ありがとうございました。
また機会があればよろしくお願いします。

閉鎖

“C言語何でも質問掲示板” へ戻る