ページ 11

Whileとif

Posted: 2011年5月25日(水) 20:06
by Kento
こんばんわ。
今回「新・ゲームプログラミング館」の1.5章「特定のキーの入力状態を監視する」というところの・・・・・

ウィンドウの×ボタンが押されたらプログラムを終了するようにするところなんですが、

コード:

while( 1 ){
                if( ProcessMessage() != 0 ){
                        break;
                }
        }
の部分がそこに関係あるようなんですが、よく分かりません。
このような文を書くとなぜ×を押すとプログラムが終了するのでしょうか?


また、whileとif文の組み合わせについても教えてくださるとうれしいです。

Re: Whileとif

Posted: 2011年5月25日(水) 20:14
by h2so5
ProcessMessage() はウィンドウが閉じられた場合、-1を返します。

その場合break;によってwhileループから強制的に抜けるため、
main関数の最後に到達し、プログラムが終了します。

Re: Whileとif

Posted: 2011年5月25日(水) 20:32
by naohiro19
このif文はProcessMessageの「戻り値が0以外の時にループを抜ける」という条件です。
ProcessMessageが0の時はループを抜けません

なるほど

Posted: 2011年5月27日(金) 19:40
by Kento
そういうことだったんですね。

返事遅くなってすみません。
疑問が解決してよかったです