ページ 11

ゲームプログラミングの館 2.7章のfor文について

Posted: 2014年10月03日(金) 15:12
by free
[1] 質問文
 [1.1]ゲームプログラミングの館の2.7章で練習しているのですが、プログラムの終わりぐらいにあるfor文で
エラーが発生して原因がよくわからず、どう直せばいいのかわからないので、教えて頂けますか?

以下、問題のプログラム文です。

コード:

C++
#include "DxLib.h"

int WINAPI WinMain(HINSTANCE,HINSTANCE,LPSTR,int){
ChangeWindowMode(TRUE), DxLib_Init(), SetDrawScreen(DX_SCREEN_BACK); //ウィンドウモード変更と初期化と裏画面設定

int Handle, Count = 0;
Handle = LoadSoundMem("サウンド/1up.wav"); //サウンド/1upをロードし、識別番号をHandleに格納

// while(裏画面を表画面に反映,メッセージ処理,画面クリア)
while (ScreenFlip() == 0 && ProcessMessage() == 0 && ClearDrawScreen()==0 ){

for (Count % 120 == 0) { //2秒に一度
PlaySoundMem(Handle,DX_PLAYTYPE_BACK); //効果音を再生する
}
Count++;
}

DxLib_End(); // DXライブラリ終了処理
return 0;
}

このプログラムを実行したら次のようなエラーが出てきます。
警告 1 warning C4553: '==' : 演算子にプログラム上の作用がありません。'=' を意図しましたか?
エラー 2 error C2143: 構文エラー : ';' が ')' の前にありません。
3 IntelliSense: ';' が必要です

プログラムはあっているのになぜエラーになるのでしょうか?

[2] 環境  
 [2.1] OS : Windows7
 [2.2] コンパイラ名 : VS C++ 2013

Re: ゲームプログラミングの館 2.7章のfor文について

Posted: 2014年10月03日(金) 15:51
by box
free さんが書きました:

コード:

		for (Count % 120 == 0) { //2秒に一度
この構文は、if文です。
for文ではありません。

Re: ゲームプログラミングの館 2.7章のfor文について

Posted: 2014年10月03日(金) 16:45
by free
boxさんの返信を受けて、改めて2.7章をよく見てみたらforではなくてifになっていました(汗)
直してみたらちゃんと動作しました。
コードをよく見て作らなければだめですね・・・。
boxさん、ありがとうございました!