敵にショットを撃たせてみよう
Posted: 2012年8月23日(木) 15:52
敵にショットを撃たせてみようの最初のこれ
void enter_shot(int i){
int j;
for(j=0;j<SHOT_MAX;j++){//フラグのたって無いenemyを探す
if(shot[j].flag==0){//未使用の弾幕データがあれば
memset(&shot[j],0,sizeof(shot_t));//初期化して登録
shot[j].flag=1;//フラグをたてる
shot[j].knd=enemy.blknd;//弾の種類
shot[j].num=i;//num=どの敵から発射されたものか。
shot[j].cnt=0;
return ;
}
}
}
//敵の行動制御
void enemy_act(){
int i;
for(i=0;i<ENEMY_MAX;i++){
if(enemy.flag==1){//その敵のフラグがオンになってたら
if(0<=enemy.pattern && enemy.pattern<ENEMY_PATTERN_MAX){
enemy_pattern[enemy.pattern](i);
enemy.x+=cos(enemy.ang)*enemy.sp;
enemy.y+=sin(enemy.ang)*enemy[i].sp;
enemy[i].x+=enemy[i].vx;
enemy[i].y+=enemy[i].vy;
enemy[i].cnt++;
enemy[i].img=enemy[i].muki*3+(enemy[i].cnt%18)/6;
//敵が画面外に外れたら消す
if(enemy[i].x<-20 || FIELD_MAX_X+20<enemy[i].x || enemy[i].y<-20 || FIELD_MAX_Y+20<enemy[i].y)
enemy[i].flag=0;
if(enemy[i].bltime==enemy[i].cnt)
enter_shot(i);
}
else
printfDx("enemy[i].patternの%d値が不正です。",enemy[i].pattern);
}
}
}
どうすればいいかがわからないです教えてください
void enter_shot(int i){
int j;
for(j=0;j<SHOT_MAX;j++){//フラグのたって無いenemyを探す
if(shot[j].flag==0){//未使用の弾幕データがあれば
memset(&shot[j],0,sizeof(shot_t));//初期化して登録
shot[j].flag=1;//フラグをたてる
shot[j].knd=enemy.blknd;//弾の種類
shot[j].num=i;//num=どの敵から発射されたものか。
shot[j].cnt=0;
return ;
}
}
}
//敵の行動制御
void enemy_act(){
int i;
for(i=0;i<ENEMY_MAX;i++){
if(enemy.flag==1){//その敵のフラグがオンになってたら
if(0<=enemy.pattern && enemy.pattern<ENEMY_PATTERN_MAX){
enemy_pattern[enemy.pattern](i);
enemy.x+=cos(enemy.ang)*enemy.sp;
enemy.y+=sin(enemy.ang)*enemy[i].sp;
enemy[i].x+=enemy[i].vx;
enemy[i].y+=enemy[i].vy;
enemy[i].cnt++;
enemy[i].img=enemy[i].muki*3+(enemy[i].cnt%18)/6;
//敵が画面外に外れたら消す
if(enemy[i].x<-20 || FIELD_MAX_X+20<enemy[i].x || enemy[i].y<-20 || FIELD_MAX_Y+20<enemy[i].y)
enemy[i].flag=0;
if(enemy[i].bltime==enemy[i].cnt)
enter_shot(i);
}
else
printfDx("enemy[i].patternの%d値が不正です。",enemy[i].pattern);
}
}
}
どうすればいいかがわからないです教えてください