}\r
\r
/// <summary>\r
+ /// 演習の獲得経験値を計算する\r
+ /// </summary>\r
+ [TestMethod]\r
+ public void PracticeExpPoint()\r
+ {\r
+ var sniffer = new Sniffer();\r
+ SniffLogFile(sniffer, "practice_004");\r
+ PAssert.That(() => sniffer.MiscText == "[演習情報]\r\n敵艦隊名 : 第一艦隊\r\n獲得経験値 : 878\r\nS勝利 : 1053");\r
+ }\r
+\r
+ /// <summary>\r
/// 新規のドロップ艦の初期装備数を登録する\r
/// </summary>\r
[TestMethod]\r
\r
public static double GetExp(int ship1Lv, int ship2Lv)\r
{\r
- return ExpTable[Min(ship1Lv, ExpTable.Length) - 1] / 100.0 +\r
+ var raw = ExpTable[Min(ship1Lv, ExpTable.Length) - 1] / 100.0 +\r
ExpTable[Min(ship2Lv, ExpTable.Length) - 1] / 300.0;\r
+ return raw >= 500 ? 500 + (int)Sqrt(raw - 500) : (int)raw;\r
}\r
\r
- public static double TrainingCruiserBonus(IReadOnlyList<ShipStatus> fleet)\r
+ public static double TrainingCruiserBonus(IReadOnlyList<ShipStatus> fleet) =>\r
+ 1.0 + TrainingCruiserBonusRate(fleet);\r
+\r
+ private static double TrainingCruiserBonusRate(IReadOnlyList<ShipStatus> fleet)\r
{\r
if (fleet[0].Spec.IsTrainingCruiser)\r
{\r