OSDN Git Service

任務カウンタが進捗80%で達成数に修正されることがあるのを直す
authorKazuhiro Fujieda <fujieda@users.osdn.me>
Sun, 4 Mar 2018 07:03:42 +0000 (16:03 +0900)
committerKazuhiro Fujieda <fujieda@users.osdn.me>
Sun, 4 Mar 2018 07:07:36 +0000 (16:07 +0900)
KancolleSniffer.Test/QuestInfoTest.cs
KancolleSniffer/QuestInfo.cs

index 8002aa9..6791093 100644 (file)
@@ -78,6 +78,26 @@ namespace KancolleSniffer.Test
         }\r
 \r
         [TestMethod]\r
+        public void AdjustCount80Percent()\r
+        {\r
+            var count = new QuestCount\r
+            {\r
+                Spec = new QuestSpec()\r
+            };\r
+            for (var shift = 0; shift <= 1; shift++)\r
+            {\r
+                for (var max = 2; max <= 6; max++)\r
+                {\r
+                    count.Spec.Max = max;\r
+                    count.Spec.Shift = shift;\r
+                    count.Now = 1;\r
+                    count.AdjustCount(80);\r
+                    PAssert.That(() => count.Now == count.Spec.Max - 1);\r
+                }\r
+            }\r
+        }\r
+\r
+        [TestMethod]\r
         public void AdjestCountNowArray()\r
         {\r
             var count = new QuestCount\r
index 82e72d9..e97d090 100644 (file)
@@ -155,6 +155,8 @@ namespace KancolleSniffer
             var now = Now + Spec.Shift;\r
             var max = Spec.Max + Spec.Shift;\r
             var low = (int)Ceiling(max * progress / 100.0);\r
+            if (low >= max && progress != 100)\r
+                low = max - 1;\r
             var high = (int)Ceiling(max * next / 100.0);\r
             if (now < low)\r
             {\r