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

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
free
記事: 29
登録日時: 5年前

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

#1

投稿記事 by free » 5年前

[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

box
記事: 1746
登録日時: 9年前

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

#2

投稿記事 by box » 5年前

free さんが書きました:

コード:

		for (Count % 120 == 0) { //2秒に一度
この構文は、if文です。
for文ではありません。
バグのないプログラムはない。
プログラムは思ったとおりには動かない。書いたとおりに動く。

free
記事: 29
登録日時: 5年前

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

#3

投稿記事 by free » 5年前

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

閉鎖

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