トップページ > 過去ログ > 記事閲覧
14歳からはじめるC言語の質問
名前:コト 日時: 2007/08/19 00:07

14歳からはじめるC言語の本を見ながら勉強しているのですが、4章のプログラミングが終わって実行してゲームを始めると、いきなりゲームクリアーになってしまいます。エラーもでないし、どこか入力ミスをしているか、環境設定が悪いのでしょうか? 自分の作ったプログラムとCDに収録されているプログラム(smp_spgame01)を比較しても問題かしょが見つけられません。 このような時は、どうしたらいいのでしょうか?ご指導お願いします。

Page: 1 |

Re: 14歳からはじめるC言語の質問 ( No.1 )
名前:お父さん 日時:2007/08/19 03:10

コトさん、はじめまして もし、spgame01.cppに間違いがないとすると、他のファイルにミスタイプがあるということになりますが、いき なりGameClearになるというなら、tekichara.cppの中のIsGameClear()関数にミスがあるのかもしれません。 例えば、(もちろん、わざわざこんなことをする人はいないでしょうが)IsGameClear()関数の条件判定の部分 をコメントにして、必ず1を返すようにすれば、いきなりGameClearになります。 int IsGameClear() { // if(tekidata[0].life==0) return 1; } ひょっとして、IsGameClear()関数の条件判定の部分にミスタイプがあって、必ずreturn 1;が実行されるように なっているのかもしれませんね。 次に、IsGameClear()関数にも間違いがなければ、敵のlifeの初期値が0になっていることが考えられますので、 TekiInit()関数の中で、  tekidata[i].life=2; が、 tekidata[i].life==2; あるいは、tekidata[i].life=0; のようになっているのかもしれません。 私が思いついたのはこの2つぐらいですが、spgame01.cppに間違いがないのなら、それ以外のファイ ルに間違いがあることが考えられますので、spgame01.cpp以外のファイルをもう一度チェックされれ ばいいのではないかと思います。 また、どうしても間違いが発見できないときは、ディスクに収録されているファイルと自分で書いたファイルと をひとつずつ差し替えていけば、少なくとも、どのファイルにタイプミスがあるかがわかりますので、少しは問 題個所の発見がしやすくなると思います。
Re: 14歳からはじめるC言語の質問 ( No.2 )
名前:コト 日時:2007/08/19 03:13

お父さん、ありがとうございます。 ご指摘どうりに自分のプログラムと ディスクに収録されているプログラムを 入れ替えて試してみたところspgame01.cppに ミスタイプがあるのを発見しました。 本当にありがとうございました。

Page: 1 |