OSDN Git Service

要修復一覧に演習中の艦を表示しない
authorKazuhiro Fujieda <fujieda@users.osdn.me>
Sun, 17 Jun 2018 14:54:42 +0000 (23:54 +0900)
committerKazuhiro Fujieda <fujieda@users.osdn.me>
Mon, 18 Jun 2018 14:15:58 +0000 (23:15 +0900)
KancolleSniffer.Test/SnifferTest.cs
KancolleSniffer.Test/logs
KancolleSniffer/ShipInfo.cs

index 6dc2c61..7e6e1c9 100644 (file)
@@ -146,6 +146,17 @@ namespace KancolleSniffer.Test
         }\r
 \r
         /// <summary>\r
+        /// 演習中の艦を要修復リストに載せない\r
+        /// </summary>\r
+        [TestMethod]\r
+        public void DamagedShipListNotShowShipInPractice()\r
+        {\r
+            var sniffer = new Sniffer();\r
+            SniffLogFile(sniffer, "practice_003");\r
+            PAssert.That(() => sniffer.RepairList.Select(s => s.Name).SequenceEqual(new[] {"飛龍改二", "翔鶴改二"}));\r
+        }\r
+\r
+        /// <summary>\r
         /// 連合艦隊が開幕雷撃で被弾する\r
         /// </summary>\r
         [TestMethod]\r
index eae3174..6feb341 160000 (submodule)
@@ -1 +1 @@
-Subproject commit eae3174d768fe515a8c04f8a65954efe5b70aacd
+Subproject commit 6feb341954d3a0f2bcbd7dd62dad3a50ec81112f
index ebace6e..cac97a4 100644 (file)
@@ -345,7 +345,8 @@ namespace KancolleSniffer
 \r
         public ShipStatus[] GetRepairList(DockInfo dockInfo)\r
             => (from s in ShipList\r
-                where s.NowHp < s.MaxHp && !dockInfo.InNDock(s.Id)\r
+                where s.NowHp < s.MaxHp && !dockInfo.InNDock(s.Id) &&\r
+                      (s.Fleet == -1 || _fleets[s.Fleet].State != FleetState.Practice)\r
                 select s).OrderByDescending(s => s.RepairTime).ToArray();\r
 \r
         public string[] BadlyDamagedShips { get; private set; } = new string[0];\r
@@ -401,7 +402,7 @@ namespace KancolleSniffer
             _fleets[deck].Deck = (from ship in ships select ship.Id).ToArray();\r
             foreach (var ship in ships)\r
                 _shipInfo[ship.Id] = ship;\r
-            foreach (var entry in ships.Zip(slots, (ship, slot) =>new {ship, slot}))\r
+            foreach (var entry in ships.Zip(slots, (ship, slot) => new {ship, slot}))\r
             {\r
                 entry.ship.Slot = _itemInfo.InjectItems(entry.slot.Take(5));\r
                 if (entry.slot.Length >= 6)\r