X operations(XOPS)に非常に近いFPSゲームを制作・リメイクし、成果物をオープンソースとして公開することを目的としたプロジェクトです。
Revision | 307 (tree) |
---|---|
Zeit | 2022-04-27 08:57:29 |
Autor | ![]() |
多数の敵の死体がある場合、ミッションクリアーと誤判定される場合があるバグの修正。
@@ -2507,12 +2507,8 @@ | ||
2507 | 2507 | //メモ: |
2508 | 2508 | // |
2509 | 2509 | // 本来は、ゲームオーバー判定を先に行い、次にゲームクリアー判定を実装した方が効率的です。 |
2510 | - // プレイヤーのHPが 0 ならば即ゲームオーバーとして判定し、敵の中でHPが残っている者を見つけた時点で 判定なし、 | |
2511 | - // 2つの条件に当てはまらなければ、自動的にゲームクリアーとなります。 | |
2512 | - // | |
2513 | 2510 | // しかし、本家XOPSはゲームクリアーの判定を優先するため、先にゲームクリアーの判定を行っています。 |
2514 | 2511 | // 生きている敵の数を(総HPとして)数え、敵の数(総HP)が 0 ならば、ゲームクリアーと判定します。 |
2515 | - // まぁこのように1つの関数で処理しようとせずに、ゲームクリアーとゲームオーバーで関数自体を分けても良いのですがね・・。 | |
2516 | 2512 | |
2517 | 2513 | //ゲームクリアー判定 |
2518 | 2514 | int MyTeamid, teamid; |
@@ -2528,8 +2524,8 @@ | ||
2528 | 2524 | //異なるチーム番号(=敵)ならば |
2529 | 2525 | if( teamid != MyTeamid ){ |
2530 | 2526 | //生きていれば、敵のHPとして加算 |
2531 | - //if( HumanIndex[i].GetHP() > 0 ){ | |
2532 | - if( HumanIndex[i].GetDeadFlag() == false ){ | |
2527 | + //if( HumanIndex[i].GetDeadFlag() == false ){ | |
2528 | + if( HumanIndex[i].GetHP() > 0 ){ | |
2533 | 2529 | TotalEnemyHP += HumanIndex[i].GetHP(); |
2534 | 2530 | } |
2535 | 2531 | } |