シューティングゲームで、自機を表示させたいです。
Posted: 2012年8月04日(土) 23:45
初めまして。私は、学校の課題で、シューティングゲームを作っています。
そのシューティングゲームで、自機を表示させたいのですが、なかなか表示させることができません。
今まで書いたプログラムは下記の通りです。
上記のプログラムは、デバック画面の中でアスタリスクが永遠に動き続けるというプログラムです。
初め、printf ( " " )の下にまず自機を表示させるプログラムを書いたのですが、
デバックをすると、アスタリスクと一緒に自機も動くプログラムになってしまいました。
(上記のプログラムのintの変数ですが、大変わかりにくいと思います。すみません。)
この問題では、座標(40、21)というところに自機を表示させなければならなく、
自機を表示させること、さらにその自機を座標(40、21)に表示させるということが、どうしてもわかりません。
どうかご助力をお願いしたく思います。
環境は以下の通りです。
OS : Windows
コンパイラ名 : Microsoft Visual Studio C++ 2008 (2010版もありますが、学校の環境が2008版なので、こちらを使用しております。)
C言語についての知識ですが、プログラマーを専攻とされている方よりは大分劣り、
関数の基本~分岐処理、繰り返し処理、ギリギリ文字列まではわかるかと思います。(ただ今復習中です。)
知識が浅く、申し訳ありませんが
どうぞよろしくお願いいたします。
そのシューティングゲームで、自機を表示させたいのですが、なかなか表示させることができません。
今まで書いたプログラムは下記の通りです。
int a; // x
int b;
int c = 1; // y方向
int y = 0; //
b = 0;
clear ( );
setCursor ( 0 );
for ( a = 0; ; ){
locate ( a , y );
printf ( "*" );
_sleep ( 50 );
locate ( a , y );
printf ( " " );
///////////////////////////////元 縦
if ( y >= 20 ){
c = 0; //上
}
if ( y <= 0 ){
c = 1;
}
if ( c == 1 ){
y++;
}else{
y--;
}
//////////////////////////////横
if ( a >= 79 ){
b = 0;
}
if ( a <= 0 ){
b = 1;
}
if ( b == 1 ){
a++;
}else{
a--;
}
}
上記のプログラムは、デバック画面の中でアスタリスクが永遠に動き続けるというプログラムです。
初め、printf ( " " )の下にまず自機を表示させるプログラムを書いたのですが、
デバックをすると、アスタリスクと一緒に自機も動くプログラムになってしまいました。
(上記のプログラムのintの変数ですが、大変わかりにくいと思います。すみません。)
この問題では、座標(40、21)というところに自機を表示させなければならなく、
自機を表示させること、さらにその自機を座標(40、21)に表示させるということが、どうしてもわかりません。
どうかご助力をお願いしたく思います。
環境は以下の通りです。
OS : Windows
コンパイラ名 : Microsoft Visual Studio C++ 2008 (2010版もありますが、学校の環境が2008版なので、こちらを使用しております。)
C言語についての知識ですが、プログラマーを専攻とされている方よりは大分劣り、
関数の基本~分岐処理、繰り返し処理、ギリギリ文字列まではわかるかと思います。(ただ今復習中です。)
知識が浅く、申し訳ありませんが
どうぞよろしくお願いいたします。