スコア表示について
Posted: 2008年5月11日(日) 09:33
ここで勉強させていただいてるpsです。
ここのシューティングゲームの館をみながらプログラムを勉強しているのですが、どうしてもスコアがうまく動きません。
-----スコアの描写-----
int Cr ;
int score,dscore;
score=0;
dscore=score;
// 白色の値を取得
Cr = GetColor( 255 , 255 , 255 ) ;
// 文字列の描画
DrawFormatString( 520, 30, Cr, " %05d", dscore ) ;
-----終わり-----
CollisionDetection()の中の玉と敵があたったときの処理にスコア追加のプログラムを書き足しました。
----CollisionDetection()関数-----
void CollisionDetection(){
int score;
for(int i=0;i<PLAYER_MAX_SHOT1;i++){
for(int j=0;j<PLAYER_MAX_SHOT2;j++){
if(PlayerShot[j].flag==1){
for(int s=0;s<ENEMY_TOTAL_NUM;s++){
if(enemy.flag==1){
double x,y;
int range;
x=(int)(PlayerShot[j].x-enemy.x);
y=(int)(PlayerShot[j].y-enemy.y);
switch(i){
case 0:
case 5:
case 6:
range=12;
break;
default:
range=9;
break;
}
if((int)sqrt(x*x+y*y)<range+enemy.range){
score+=10;
enemy.flag=0;
PlayerShot[j].flag=0;
if(CheckSoundMem(sound_enemy_death)==1)
StopSoundMem(sound_enemy_death);
PlaySoundMem(sound_enemy_death,DX_PLAYTYPE_BACK);
}
}
}
}
}
}
}
これで無事スコアは表示はされるのですが、敵を倒したときに点数が追加されず、0のままになってしまいます。スコア追加のプログラムを書く場所がまちがっているとは思うのですが、どこに書けばいいのでしょうか?
よろしくお願いします。
ここのシューティングゲームの館をみながらプログラムを勉強しているのですが、どうしてもスコアがうまく動きません。
-----スコアの描写-----
int Cr ;
int score,dscore;
score=0;
dscore=score;
// 白色の値を取得
Cr = GetColor( 255 , 255 , 255 ) ;
// 文字列の描画
DrawFormatString( 520, 30, Cr, " %05d", dscore ) ;
-----終わり-----
CollisionDetection()の中の玉と敵があたったときの処理にスコア追加のプログラムを書き足しました。
----CollisionDetection()関数-----
void CollisionDetection(){
int score;
for(int i=0;i<PLAYER_MAX_SHOT1;i++){
for(int j=0;j<PLAYER_MAX_SHOT2;j++){
if(PlayerShot[j].flag==1){
for(int s=0;s<ENEMY_TOTAL_NUM;s++){
if(enemy.flag==1){
double x,y;
int range;
x=(int)(PlayerShot[j].x-enemy.x);
y=(int)(PlayerShot[j].y-enemy.y);
switch(i){
case 0:
case 5:
case 6:
range=12;
break;
default:
range=9;
break;
}
if((int)sqrt(x*x+y*y)<range+enemy.range){
score+=10;
enemy.flag=0;
PlayerShot[j].flag=0;
if(CheckSoundMem(sound_enemy_death)==1)
StopSoundMem(sound_enemy_death);
PlaySoundMem(sound_enemy_death,DX_PLAYTYPE_BACK);
}
}
}
}
}
}
}
これで無事スコアは表示はされるのですが、敵を倒したときに点数が追加されず、0のままになってしまいます。スコア追加のプログラムを書く場所がまちがっているとは思うのですが、どこに書けばいいのでしょうか?
よろしくお願いします。