提示コードですがgetEnemyNum();関数を使ってステージにエネミーが何体居るかどうかを検出して0だったら新しいステージに移行するようにbool newStage 変数をtrueにしています。このif文ですがゲーム内の壁に当たるとどういうわけかnewStage変数がtrueになってしまいますつまり
if文が成立してしまっているのですがこのif文は危険なのでしょうか?
cpp
1 2//現在のエネミーの数を得る 3int Enemy_Mng::getEnemyNum() 4{ 5// std::shared_ptr<std::vector<Enemy>> getEnemy(); //エネミー情報 6 7 return enemy->size(); 8}
cpp
1 2//更新 3void Enemy_Mng::Update() 4{ 5 6 printf("Size: %d\n",getEnemyNum()); 7 8 9 if (getEnemyNum() == 0) 10 { 11 printf("新しいステージ\n"); 12 newStage = true; 13 } 14 15 for (std::vector<Enemy>::iterator itr = enemy->begin(); itr != enemy->end(); itr++) 16 { 17 itr->Update(); 18 } 19}
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2021/03/11 10:14
2021/03/11 11:05
退会済みユーザー
2021/03/11 11:17