From bce5d49adc504ac632d1957c00eb1f2c329092d8 Mon Sep 17 00:00:00 2001 From: Kazuhiro Fujieda Date: Fri, 23 May 2014 21:58:02 +0900 Subject: [PATCH] =?utf8?q?=E7=B7=A8=E6=88=90=E3=81=A7=E8=89=A6=E5=A8=98?= =?utf8?q?=E3=81=8C=E8=89=A6=E9=9A=8A=E3=82=92=E7=A7=BB=E5=8B=95=E3=81=97?= =?utf8?q?=E3=81=9F=E3=81=A8=E3=81=8D=E3=81=AB=E8=A1=A8=E7=A4=BA=E3=81=AB?= =?utf8?q?=E6=AD=A3=E3=81=97=E3=81=8F=E5=8F=8D=E6=98=A0=E3=81=95=E3=82=8C?= =?utf8?q?=E3=81=AA=E3=81=84=E3=81=AE=E3=82=92=E7=9B=B4=E3=81=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- KancolleSniffer/ShipInfo.cs | 45 +++++++++++++++++++++++---------------------- 1 file changed, 23 insertions(+), 22 deletions(-) diff --git a/KancolleSniffer/ShipInfo.cs b/KancolleSniffer/ShipInfo.cs index e0878de..376585f 100644 --- a/KancolleSniffer/ShipInfo.cs +++ b/KancolleSniffer/ShipInfo.cs @@ -147,31 +147,32 @@ namespace KancolleSniffer { var deck = _decks[fleet]; for (var i = 1; i < deck.Length; i++) - deck[i] = -1; + deck[i] = -1; + return; } - else + if (ship == -1) { - if (ship == -1) - { - var deck = _decks[fleet]; - for (var i = idx; i < deck.Length - 1; i++) - deck[i] = deck[i + 1]; - deck[deck.Length - 1] = -1; - } - else - { - var prev = _decks[fleet][idx]; - foreach (var deck in _decks) - for (var i = 0; i < deck.Length; i++) - if (deck[i] == ship) - { - deck[i] = prev; - goto last; - } - last: - _decks[fleet][idx] = ship; - } + RemoveShip(fleet, idx); + return; } + for (var f = 0; f < _decks.Length; f++) + for (var i = 0; i < _decks[f].Length; i++) + if (_decks[f][i] == ship) // 入れ替えの場合 + { + if ((_decks[f][i] = _decks[fleet][idx]) == -1) + RemoveShip(f, i); + goto last; + } + last: + _decks[fleet][idx] = ship; + } + + private void RemoveShip(int fleet, int idx) + { + var deck = _decks[fleet]; + for (var i = idx; i < deck.Length - 1; i++) + deck[i] = deck[i + 1]; + deck[deck.Length - 1] = -1; } public void InspectPowerup(string request, dynamic json) -- 2.11.0