From f718445d5b9803925c04a6b5d5eff0f272b8d219 Mon Sep 17 00:00:00 2001 From: masakih Date: Sat, 25 Nov 2017 20:04:21 +0900 Subject: [PATCH] =?utf8?q?=E8=A2=AB=E3=83=80=E3=83=A1=E8=A8=88=E7=AE=97?= =?utf8?q?=E3=82=92=E9=80=A3=E5=90=88=E8=89=A6=E9=9A=8A=E3=81=AB=E5=AF=BE?= =?utf8?q?=E5=BF=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- KCD/CalculateDamageCommand.swift | 22 ++++++------ KCD/DamageCalculator.swift | 73 +++++++++++++++++++++++++++------------- 2 files changed, 60 insertions(+), 35 deletions(-) diff --git a/KCD/CalculateDamageCommand.swift b/KCD/CalculateDamageCommand.swift index 3be176d3..28eca76c 100644 --- a/KCD/CalculateDamageCommand.swift +++ b/KCD/CalculateDamageCommand.swift @@ -112,16 +112,6 @@ extension CalculateDamageCommand { let aStore = ServerDataStore.oneTimeEditor() - // 第二艦隊単独出撃で正しくデータが反映されるように逆順にして計算 - totalDamages.reversed().forEach { - - guard let ship = aStore.ship(by: $0.shipID) else { return } - - ship.nowhp = $0.hp - - if $0.useDamageControl { removeFirstDamageControl(of: ship) } - } - Debug.excute(level: .debug) { print("-------") @@ -136,10 +126,20 @@ extension CalculateDamageCommand { } } - + print("------- End Battle") } + // 第二艦隊単独出撃で正しくデータが反映されるように逆順にして計算 + totalDamages.reversed().forEach { + + guard let ship = aStore.ship(by: $0.shipID) else { return } + + ship.nowhp = $0.hp + + if $0.useDamageControl { removeFirstDamageControl(of: ship) } + } + } func updateBattleCell() { diff --git a/KCD/DamageCalculator.swift b/KCD/DamageCalculator.swift index 9c4c299e..ee1bc01f 100644 --- a/KCD/DamageCalculator.swift +++ b/KCD/DamageCalculator.swift @@ -250,20 +250,46 @@ extension DamageCalculator { } } - private func buildDamagesOfFleet(fleet: Int, ships: [Ship]) { + private func makeDamage(num: Int) -> [Damage] { - guard case 0...1 = fleet else { return Logger.shared.log("fleet must 0 or 1.") } - guard let battle = store.battle() else { return Logger.shared.log("Battle is invalid.") } + guard let battle = store.battle() else { return Logger.shared.log("Battle is invalid.", value: []) } - zip(ships, (0...)).forEach { ship, index in + return (0.. Int { - - return store.battle()?.firstFleetShipsCount ?? 6 - } - private func position(_ pos: Int, in fleet: BattleFleet) -> Int? { - let shipOffset = (fleet == .second) ? firstFleetShipsCount() : 0 - - let damagePos = pos + shipOffset + guard case 0.. 0 { return } @@ -393,8 +420,7 @@ extension DamageCalculator { Debug.excute(level: .debug) { - let shipOffset = (battleFleet == .second) ? firstFleetShipsCount() : 0 - print("Hougeki \(targetPos + shipOffset) -> \(damage)") + print("Hougeki \(targetPos) -> \(damage)") } } } @@ -435,8 +461,7 @@ extension DamageCalculator { Debug.excute(level: .debug) { - let shipOffset = (battleFleet == .second) ? firstFleetShipsCount() : 0 - print("FDam \(idx + shipOffset) -> \(damage)") + print("FDam \(idx) -> \(damage)") } } } -- 2.11.0