- ベストアンサー
DXライブラリで(初歩的な質問です。
簡単なゲームを、DXライブラリでゲームを作ろうと思ったのですが、エラーがでてしまいます。 > C:\borland\bcc55\Bin\make.exe -fDebug\trpg.mak TARGET MAKE Version 5.2 Copyright (c) 1987, 2000 Borland bcc32 -W -3 -Od -w- -AT -pc -H- -k -b -v -y -DDEBUG -nDebug -c C:\MyC\trpg\gameframe.h.cpp Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland C:\MyC\trpg\gameframe.h.cpp: エラー E2187 C:\MyC\trpg\gameframe.h.cpp 29: 1 行目で始まった条件構文の途中でファイルが終わっている *** 1 errors in Compile *** ** error 1 ** deleting Debug\gameframe.h.obj Make End !! (Elapsed time 0:07.375) 当方は、まずは、ゲームの骨組みになるものを作らないといけないみたいなので、ソレを作ろうとしています。 書籍に書いてあるものを入力しただけなのですが 「1 行目で始まった条件構文の途中でファイルが終わっている」とは、 どうすればいいのでしょうか?そのままだろ、と言われるかもしれません が、文字入力や画像表示、単純な関数を個々に使うのと違い、正直、複雑 すぎて、あまりよく解っていないので困っています。 簡単な質問だと思いますが、よろしければ、回答お願いします。 #ifndef __GAMEFRAME_H__ #define __GAMEFRAME_H__ #include "DxLib.h" //画面モードを表す列挙定数 enum GAMESTATE{ GAME_TITLE=1,GAME_MAIN,GAME_OVER,GEME_CLEAR }; class GameFrame{ virtual void drowGameTitle(){} virtual void drowGameMain(){} virtual void drowGameClear(){} virtual void drowGameOver(){} virtual void loadFiles(){} virtual void initStage(){} GAMESTATE gstate;//現在表示している画面モードを表す関数 protected: GAMESTATE setGameState(GAMESTATE state); //gstate変更関数 public: virtual ~GameFrame(){} void doMainLoop();//メインループを実行 };
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
条件構文というのはifのことです。 と言いたいところですが、今回は1行目でエラーが出ているので、 プリプロセッサの#ifndefのことかと思われます。 #ifndefには対応する#endifがないといけませんので、 最後の行の後に#endifと書き足してみてください。 あと、ファイル名が「gameframe.h.cpp」になっていますが 本には「gameframe.h」と書いてありませんか? だとしたらそのようにファイル名を変更してください。
その他の回答 (1)
- LOHA
- ベストアンサー率52% (203/388)
うーんなんだか凄まじいになっていますね…。 これ見る限りmain関数すら作ってないようですので、ゲームを作るには時期尚早かと思いますね。 もし質問に乗せたソースをこのままコンパイルしているようでしたらとしたら、何も理解していないということですのでC言語、C++言語を一から勉強する必要があると思います。 C言語の書籍を購入して勉強するのをお勧めいたします。
お礼
main関数というのは作ってあるつもりで #include"gameframe.h" int WINAPI WinMain(HINSTANCE hI, HINSTANCE hp,LPSTR lpC, int nC){ GameFrame *gf = new GameFrame(); gf->doMainLoop(); delete gf; } なんですが、文字数制限もあるし今回はとりあえず、エラーのでてるgameframe.hだけを書いたんです。 まあなにはともあれ、勉強します。またよろしくお願いします。
お礼
素晴らしいです。 cppと#endifですか。 この2点でgameframe.hのエラーは解決しました。 ありがとうございます! 骨組みさえ終われば、少し書いて即動作テストに戻れるのでなんとかなりそうだ、と勝手に思って頑張ります。 くどいですが、最後にもう一度お礼を言わせてください。 ありがとうございました!。