while文の条件式の順番について

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

トピックに返信する


答えを正確にご入力ください。答えられるかどうかでスパムボットか否かを判定します。

BBCode: ON
[img]: ON
[flash]: OFF
[url]: ON
スマイリー: OFF

トピックのレビュー
   

展開ビュー トピックのレビュー: while文の条件式の順番について

Re: while文の条件式の順番について

#3

by 補給タンク » 8年前

みけCAT さんが書きました:&&演算子は左辺を実行した後に(その結果が0でなければ)右辺を実行することが保証されており、
ClearDrawScreen()によって真っ黒になった画面をそのままScreenFlip()で表示しているのでそうなりますね。
なるほど、ちゃんと条件式の中にも実行される順番というものがあったんですね。
つまり、ミスってた部分はClearDrawScreenを先に持ってきてしまっていたためだったんですね。
ここのアドバイスを元に少し章を遡ってまとめる前のプログラムを開き、
順番を入れ替えてみたら理解できました。
解説を頂けてとても助かりました。
ありがとうございます!

Re: while文の条件式の順番について

#2

by みけCAT » 8年前

&&演算子は左辺を実行した後に(その結果が0でなければ)右辺を実行することが保証されており、
ClearDrawScreen()によって真っ黒になった画面をそのままScreenFlip()で表示しているのでそうなりますね。

while文の条件式の順番について

#1

by 補給タンク » 8年前

こんばんは。
現在ゲームプログラミングの館にて勉強中なのですが、
ここのページ(http://dixq.net/g/01_08.html)の部分でわからない部分があります。

というのも、ページ内のwhile文の中のプログラムを条件式の中にまとめて書き込む(短縮する)ところなのですが、
条件式の中身を以下のように書き込んだところ、画像が表示されず真っ黒のままになりました。

int x=0;
  int h; // データハンドル格納用変数
  h = LoadGraph( "画像/キャラクタ01.png" ); // 画像をロード

while( ProcessMessage()==0 && ClearDrawScreen()==0 && ScreenFlip()==0){

DrawGraph(x,100,h,TRUE); //画像描写(SetDrawScreenの設定で裏に描写)
x=x+2;
   }

ちなみにページの通りの順番 while( ScreenFlip()==0 && ProcessMessage()==0 && ClearDrawScreen()==0 ){
とするとちゃんと画像が表示されるのですが、ここの理由がわかりません。
基本的なことで申し訳ないのですが、どなたか教えていただけないでしょうか?

ページトップ