ページ 11

繰り返し

Posted: 2009年7月05日(日) 05:30
by qwe
プログラミングの館を眺めてて思ったことなんですが

Zボタンを押したら
printfDx("a\n");と出力し
再びZボタンを押したら
printfDx("b\n");と出力される
ただし、以前の出力した『a』という文字は消える
再びZボタンを押したら
printfDx("a\n");と出力される
ただし、以前の出力した『b』という文字は消える
再びZボタンを押したら
printfDx("b\n");と出力される
ただし、以前の出力した『a』という文字は消える
再びZボタンを押したら
printfDx("a\n");と出力される
ただし、以前の出力した『b』という文字は消える
        ・
        ・
        ・

こんな感じに永遠に繰り返すプログラムを簡単に作るとしたら
皆さんはどうプログラムを書きますか?

Re:繰り返し

Posted: 2009年7月05日(日) 06:24
by Dixq (管理人)
こんな感じでいかがでしょうか?
ゲームの館の「毎回書くプログラムの骨格」http://dixq.net/g/#41
「//ココ」部分を以下に置換します。
if(Key[KEY_INPUT_Z]==1){
            clsDx();
            printfDx("%c\n",'a'+InputZ);
            InputZ = (InputZ+1)%2;
        }

後、どこか最初に

int InputZ = 0;
を書いておいて下さい。
Zが押されるたびに、InputZが足され、2以上足されると最初に戻ります。
InputZは0か1になります。
文字コードaにInputZを足した文字コードを表示させているので、aかbとなります。
こんな感じでどうでしょうか?