}\r
\r
/// <summary>\r
+ /// B勝利を正しく判定する\r
+ /// </summary>\r
+ [TestMethod]\r
+ public void JudgeResultRankB()\r
+ {\r
+ var sniffer = new Sniffer();\r
+ SniffLogFile(sniffer, "battle_008");\r
+ PAssert.That(() => sniffer.Battle.ResultRank == BattleResultRank.B);\r
+ }\r
+\r
+ /// <summary>\r
/// 熟練度込みの制空値を正しく計算する\r
/// </summary>\r
[TestMethod]\r
var fstats = _shipInfo.GetShipStatuses(_fleet);\r
FlagshipRecovery(fstats[0]);\r
_friend = Record.Setup(fstats);\r
- _enemyHp = nowhps.Skip(7).ToArray();\r
+ _enemyHp = nowhps.Skip(7).TakeWhile(hp => hp != -1).ToArray();\r
_enemyStartHp = (int[])_enemyHp.Clone();\r
EnemyResultStatus =\r
(from id in\r
{\r
_enemyGuardHp =\r
((int[])json.api_nowhps_combined).\r
- Skip(7).ToArray();\r
+ Skip(7).TakeWhile(hp => hp != -1).ToArray();\r
_enemyGuardStartHp = (int[])_enemyGuardHp.Clone();\r
}\r
}\r
\r
private void SetEnemyResultStatus()\r
{\r
- for (var i = 0; i < 6; i++)\r
+ for (var i = 0; i < _enemyHp.Length; i++)\r
{\r
EnemyResultStatus[i].MaxHp = _enemyStartHp[i];\r
EnemyResultStatus[i].NowHp = _enemyHp[i];\r
}\r
- for (var i = 6; i < EnemyResultStatus.Length; i++)\r
+ for (var i = 0; i < _enemyGuardHp.Length; i++)\r
{\r
- EnemyResultStatus[i].MaxHp = _enemyGuardStartHp[i - 6];\r
- EnemyResultStatus[i].NowHp = _enemyGuardHp[i - 6];\r
+ EnemyResultStatus[i + 6].MaxHp = _enemyGuardStartHp[i];\r
+ EnemyResultStatus[i + 6].NowHp = _enemyGuardHp[i];\r
}\r
}\r
\r