From deb05590646dc6a875c281793052b3c63b350fc7 Mon Sep 17 00:00:00 2001 From: handsomekiwi Date: Fri, 20 Jul 2018 21:03:40 +0800 Subject: [PATCH 1/4] SelectCard bug fix --- Game/GameAI.cs | 53 +++++++++++++++++++++----------------------------- 1 file changed, 22 insertions(+), 31 deletions(-) diff --git a/Game/GameAI.cs b/Game/GameAI.cs index 7106cd4b..27ba43bf 100644 --- a/Game/GameAI.cs +++ b/Game/GameAI.cs @@ -91,9 +91,7 @@ public void OnNewTurn() /// public void OnNewPhase() { - m_selector = null; - m_nextSelector = null; - m_thirdSelector = null; + m_selector.Clear(); m_materialSelector = null; m_option = -1; m_yesno = -1; @@ -721,9 +719,7 @@ public int OnAnnounceCard() // _ Others functions _ // Those functions are used by the AI behavior. - private CardSelector m_selector; - private CardSelector m_nextSelector; - private CardSelector m_thirdSelector; + private CardSelector m_materialSelector; private CardPosition m_position = CardPosition.FaceUpAttack; private int m_place; @@ -732,81 +728,82 @@ public int OnAnnounceCard() private int m_announce; private int m_yesno; private IList m_attributes = new List(); + private IList m_selector = new List(); private IList m_races = new List(); public void SelectCard(ClientCard card) { - m_selector = new CardSelector(card); + m_selector.Add(new CardSelector(card)); } public void SelectCard(IList cards) { - m_selector = new CardSelector(cards); + m_selector.Add(new CardSelector(cards)); } public void SelectCard(int cardId) { - m_selector = new CardSelector(cardId); + m_selector.Add(new CardSelector(cardId)); } public void SelectCard(IList ids) { - m_selector = new CardSelector(ids); + m_selector.Add(new CardSelector(ids)); } public void SelectCard(CardLocation loc) { - m_selector = new CardSelector(loc); + m_selector.Add(new CardSelector(loc)); } public void SelectNextCard(ClientCard card) { - m_nextSelector = new CardSelector(card); + m_selector.Add(new CardSelector(card)); } public void SelectNextCard(IList cards) { - m_nextSelector = new CardSelector(cards); + m_selector.Add(new CardSelector(cards)); } public void SelectNextCard(int cardId) { - m_nextSelector = new CardSelector(cardId); + m_selector.Add(new CardSelector(cardId)); } public void SelectNextCard(IList ids) { - m_nextSelector = new CardSelector(ids); + m_selector.Add(new CardSelector(ids)); } public void SelectNextCard(CardLocation loc) { - m_nextSelector = new CardSelector(loc); + m_selector.Add(new CardSelector(loc)); } public void SelectThirdCard(ClientCard card) { - m_thirdSelector = new CardSelector(card); + m_selector.Add(new CardSelector(card)); } public void SelectThirdCard(IList cards) { - m_thirdSelector = new CardSelector(cards); + m_selector.Add(new CardSelector(cards)); } public void SelectThirdCard(int cardId) { - m_thirdSelector = new CardSelector(cardId); + m_selector.Add(new CardSelector(cardId)); } public void SelectThirdCard(IList ids) { - m_thirdSelector = new CardSelector(ids); + m_selector.Add(new CardSelector(ids)); } public void SelectThirdCard(CardLocation loc) { - m_thirdSelector = new CardSelector(loc); + m_selector.Add(new CardSelector(loc)); } public void SelectMaterials(ClientCard card) @@ -841,17 +838,11 @@ public void CleanSelectMaterials() public CardSelector GetSelectedCards() { - CardSelector selected = m_selector; - m_selector = null; - if (m_nextSelector != null) + CardSelector selected = null; + if (m_selector.Count > 0) { - m_selector = m_nextSelector; - m_nextSelector = null; - if (m_thirdSelector != null) - { - m_nextSelector = m_thirdSelector; - m_thirdSelector = null; - } + selected = m_selector[0]; + m_selector.RemoveAt(0); } return selected; } From 56795634229b5c53345d8e45514d5300dc8421c8 Mon Sep 17 00:00:00 2001 From: handsomekiwi Date: Wed, 25 Jul 2018 21:18:34 +0800 Subject: [PATCH 2/4] selectcard chain fix --- Game/GameAI.cs | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/Game/GameAI.cs b/Game/GameAI.cs index 27ba43bf..55c09a41 100644 --- a/Game/GameAI.cs +++ b/Game/GameAI.cs @@ -119,6 +119,16 @@ public void OnDirectAttack(ClientCard card) /// Player who is currently chaining. public void OnChaining(ClientCard card, int player) { + if (Duel.CurrentChain.Count == 1) + { + CardSelector temp; + for (int i = 0; i < m_selector.Count / 2; i++) + { + temp = m_selector[i]; + m_selector[i] = m_selector[m_selector.Count - 1 - i]; + m_selector[m_selector.Count - 1 - i] = temp; + } + } Executor.OnChaining(player,card); } @@ -127,6 +137,7 @@ public void OnChaining(ClientCard card, int player) /// public void OnChainEnd() { + m_selector.Clear(); Executor.OnChainEnd(); } From 6b4df6bb15620ae2556522cd0e9656764dad0507 Mon Sep 17 00:00:00 2001 From: Wind2009-Louse Date: Wed, 15 Aug 2018 09:28:27 +0800 Subject: [PATCH 3/4] selector printer --- Game/GameAI.cs | 94 ++++++++++++++++++++++++++++++++++++++------------ 1 file changed, 71 insertions(+), 23 deletions(-) diff --git a/Game/GameAI.cs b/Game/GameAI.cs index 55c09a41..48d6cf71 100644 --- a/Game/GameAI.cs +++ b/Game/GameAI.cs @@ -92,6 +92,7 @@ public void OnNewTurn() public void OnNewPhase() { m_selector.Clear(); + m_selector_printer = -1; m_materialSelector = null; m_option = -1; m_yesno = -1; @@ -119,16 +120,6 @@ public void OnDirectAttack(ClientCard card) /// Player who is currently chaining. public void OnChaining(ClientCard card, int player) { - if (Duel.CurrentChain.Count == 1) - { - CardSelector temp; - for (int i = 0; i < m_selector.Count / 2; i++) - { - temp = m_selector[i]; - m_selector[i] = m_selector[m_selector.Count - 1 - i]; - m_selector[m_selector.Count - 1 - i] = temp; - } - } Executor.OnChaining(player,card); } @@ -138,6 +129,7 @@ public void OnChaining(ClientCard card, int player) public void OnChainEnd() { m_selector.Clear(); + m_selector_printer = -1; Executor.OnChainEnd(); } @@ -740,81 +732,137 @@ public int OnAnnounceCard() private int m_yesno; private IList m_attributes = new List(); private IList m_selector = new List(); + private int m_selector_printer = -1; private IList m_races = new List(); public void SelectCard(ClientCard card) { + m_selector_printer = m_selector.Count(); m_selector.Add(new CardSelector(card)); } public void SelectCard(IList cards) { + m_selector_printer = m_selector.Count(); m_selector.Add(new CardSelector(cards)); } public void SelectCard(int cardId) { + m_selector_printer = m_selector.Count(); m_selector.Add(new CardSelector(cardId)); } public void SelectCard(IList ids) { + m_selector_printer = m_selector.Count(); m_selector.Add(new CardSelector(ids)); } public void SelectCard(CardLocation loc) { + m_selector_printer = m_selector.Count(); m_selector.Add(new CardSelector(loc)); } public void SelectNextCard(ClientCard card) { - m_selector.Add(new CardSelector(card)); + if (m_selector_printer == -1) + { + Logger.WriteErrorLine("Error: Call SelectNextCard() before SelectCard()"); + m_selector_printer = 0; + } + m_selector.Insert(m_selector_printer, new CardSelector(card)); } public void SelectNextCard(IList cards) { - m_selector.Add(new CardSelector(cards)); + if (m_selector_printer == -1) + { + Logger.WriteErrorLine("Error: Call SelectNextCard() before SelectCard()"); + m_selector_printer = 0; + } + m_selector.Insert(m_selector_printer, new CardSelector(cards)); } public void SelectNextCard(int cardId) { - m_selector.Add(new CardSelector(cardId)); + if (m_selector_printer == -1) + { + Logger.WriteErrorLine("Error: Call SelectNextCard() before SelectCard()"); + m_selector_printer = 0; + } + m_selector.Insert(m_selector_printer, new CardSelector(cardId)); } public void SelectNextCard(IList ids) { - m_selector.Add(new CardSelector(ids)); + if (m_selector_printer == -1) + { + Logger.WriteErrorLine("Error: Call SelectNextCard() before SelectCard()"); + m_selector_printer = 0; + } + m_selector.Insert(m_selector_printer, new CardSelector(ids)); } public void SelectNextCard(CardLocation loc) { - m_selector.Add(new CardSelector(loc)); + if (m_selector_printer == -1) + { + Logger.WriteErrorLine("Error: Call SelectNextCard() before SelectCard()"); + m_selector_printer = 0; + } + m_selector.Insert(m_selector_printer, new CardSelector(loc)); } public void SelectThirdCard(ClientCard card) { - m_selector.Add(new CardSelector(card)); + if (m_selector_printer == -1) + { + Logger.WriteErrorLine("Error: Call SelectThirdCard() before SelectCard()"); + m_selector_printer = 0; + } + m_selector.Insert(m_selector_printer, new CardSelector(card)); } public void SelectThirdCard(IList cards) { - m_selector.Add(new CardSelector(cards)); + if (m_selector_printer == -1) + { + Logger.WriteErrorLine("Error: Call SelectThirdCard() before SelectCard()"); + m_selector_printer = 0; + } + m_selector.Insert(m_selector_printer, new CardSelector(cards)); } public void SelectThirdCard(int cardId) { - m_selector.Add(new CardSelector(cardId)); + if (m_selector_printer == -1) + { + Logger.WriteErrorLine("Error: Call SelectThirdCard() before SelectCard()"); + m_selector_printer = 0; + } + m_selector.Insert(m_selector_printer, new CardSelector(cardId)); } public void SelectThirdCard(IList ids) { - m_selector.Add(new CardSelector(ids)); + if (m_selector_printer == -1) + { + Logger.WriteErrorLine("Error: Call SelectThirdCard() before SelectCard()"); + m_selector_printer = 0; + } + m_selector.Insert(m_selector_printer, new CardSelector(ids)); } public void SelectThirdCard(CardLocation loc) { - m_selector.Add(new CardSelector(loc)); + if (m_selector_printer == -1) + { + Logger.WriteErrorLine("Error: Call SelectThirdCard() before SelectCard()"); + m_selector_printer = 0; + } + m_selector.Insert(m_selector_printer, new CardSelector(loc)); } public void SelectMaterials(ClientCard card) @@ -852,8 +900,8 @@ public CardSelector GetSelectedCards() CardSelector selected = null; if (m_selector.Count > 0) { - selected = m_selector[0]; - m_selector.RemoveAt(0); + selected = m_selector[m_selector.Count - 1]; + m_selector.RemoveAt(m_selector.Count - 1); } return selected; } @@ -1006,4 +1054,4 @@ private bool ShouldExecute(CardExecutor exec, ClientCard card, ExecutorType type return false; } } -} \ No newline at end of file +} From 66bb2bd14549909ec3e048731e96695939ebefa9 Mon Sep 17 00:00:00 2001 From: Wind2009-Louse Date: Wed, 15 Aug 2018 09:50:53 +0800 Subject: [PATCH 4/4] Typo fix --- Game/GameAI.cs | 76 +++++++++++++++++++++++++------------------------- 1 file changed, 38 insertions(+), 38 deletions(-) diff --git a/Game/GameAI.cs b/Game/GameAI.cs index 48d6cf71..8944d91a 100644 --- a/Game/GameAI.cs +++ b/Game/GameAI.cs @@ -92,7 +92,7 @@ public void OnNewTurn() public void OnNewPhase() { m_selector.Clear(); - m_selector_printer = -1; + m_selector_pointer = -1; m_materialSelector = null; m_option = -1; m_yesno = -1; @@ -129,7 +129,7 @@ public void OnChaining(ClientCard card, int player) public void OnChainEnd() { m_selector.Clear(); - m_selector_printer = -1; + m_selector_pointer = -1; Executor.OnChainEnd(); } @@ -732,137 +732,137 @@ public int OnAnnounceCard() private int m_yesno; private IList m_attributes = new List(); private IList m_selector = new List(); - private int m_selector_printer = -1; + private int m_selector_pointer = -1; private IList m_races = new List(); public void SelectCard(ClientCard card) { - m_selector_printer = m_selector.Count(); + m_selector_pointer = m_selector.Count(); m_selector.Add(new CardSelector(card)); } public void SelectCard(IList cards) { - m_selector_printer = m_selector.Count(); + m_selector_pointer = m_selector.Count(); m_selector.Add(new CardSelector(cards)); } public void SelectCard(int cardId) { - m_selector_printer = m_selector.Count(); + m_selector_pointer = m_selector.Count(); m_selector.Add(new CardSelector(cardId)); } public void SelectCard(IList ids) { - m_selector_printer = m_selector.Count(); + m_selector_pointer = m_selector.Count(); m_selector.Add(new CardSelector(ids)); } public void SelectCard(CardLocation loc) { - m_selector_printer = m_selector.Count(); + m_selector_pointer = m_selector.Count(); m_selector.Add(new CardSelector(loc)); } public void SelectNextCard(ClientCard card) { - if (m_selector_printer == -1) + if (m_selector_pointer == -1) { Logger.WriteErrorLine("Error: Call SelectNextCard() before SelectCard()"); - m_selector_printer = 0; + m_selector_pointer = 0; } - m_selector.Insert(m_selector_printer, new CardSelector(card)); + m_selector.Insert(m_selector_pointer, new CardSelector(card)); } public void SelectNextCard(IList cards) { - if (m_selector_printer == -1) + if (m_selector_pointer == -1) { Logger.WriteErrorLine("Error: Call SelectNextCard() before SelectCard()"); - m_selector_printer = 0; + m_selector_pointer = 0; } - m_selector.Insert(m_selector_printer, new CardSelector(cards)); + m_selector.Insert(m_selector_pointer, new CardSelector(cards)); } public void SelectNextCard(int cardId) { - if (m_selector_printer == -1) + if (m_selector_pointer == -1) { Logger.WriteErrorLine("Error: Call SelectNextCard() before SelectCard()"); - m_selector_printer = 0; + m_selector_pointer = 0; } - m_selector.Insert(m_selector_printer, new CardSelector(cardId)); + m_selector.Insert(m_selector_pointer, new CardSelector(cardId)); } public void SelectNextCard(IList ids) { - if (m_selector_printer == -1) + if (m_selector_pointer == -1) { Logger.WriteErrorLine("Error: Call SelectNextCard() before SelectCard()"); - m_selector_printer = 0; + m_selector_pointer = 0; } - m_selector.Insert(m_selector_printer, new CardSelector(ids)); + m_selector.Insert(m_selector_pointer, new CardSelector(ids)); } public void SelectNextCard(CardLocation loc) { - if (m_selector_printer == -1) + if (m_selector_pointer == -1) { Logger.WriteErrorLine("Error: Call SelectNextCard() before SelectCard()"); - m_selector_printer = 0; + m_selector_pointer = 0; } - m_selector.Insert(m_selector_printer, new CardSelector(loc)); + m_selector.Insert(m_selector_pointer, new CardSelector(loc)); } public void SelectThirdCard(ClientCard card) { - if (m_selector_printer == -1) + if (m_selector_pointer == -1) { Logger.WriteErrorLine("Error: Call SelectThirdCard() before SelectCard()"); - m_selector_printer = 0; + m_selector_pointer = 0; } - m_selector.Insert(m_selector_printer, new CardSelector(card)); + m_selector.Insert(m_selector_pointer, new CardSelector(card)); } public void SelectThirdCard(IList cards) { - if (m_selector_printer == -1) + if (m_selector_pointer == -1) { Logger.WriteErrorLine("Error: Call SelectThirdCard() before SelectCard()"); - m_selector_printer = 0; + m_selector_pointer = 0; } - m_selector.Insert(m_selector_printer, new CardSelector(cards)); + m_selector.Insert(m_selector_pointer, new CardSelector(cards)); } public void SelectThirdCard(int cardId) { - if (m_selector_printer == -1) + if (m_selector_pointer == -1) { Logger.WriteErrorLine("Error: Call SelectThirdCard() before SelectCard()"); - m_selector_printer = 0; + m_selector_pointer = 0; } - m_selector.Insert(m_selector_printer, new CardSelector(cardId)); + m_selector.Insert(m_selector_pointer, new CardSelector(cardId)); } public void SelectThirdCard(IList ids) { - if (m_selector_printer == -1) + if (m_selector_pointer == -1) { Logger.WriteErrorLine("Error: Call SelectThirdCard() before SelectCard()"); - m_selector_printer = 0; + m_selector_pointer = 0; } - m_selector.Insert(m_selector_printer, new CardSelector(ids)); + m_selector.Insert(m_selector_pointer, new CardSelector(ids)); } public void SelectThirdCard(CardLocation loc) { - if (m_selector_printer == -1) + if (m_selector_pointer == -1) { Logger.WriteErrorLine("Error: Call SelectThirdCard() before SelectCard()"); - m_selector_printer = 0; + m_selector_pointer = 0; } - m_selector.Insert(m_selector_printer, new CardSelector(loc)); + m_selector.Insert(m_selector_pointer, new CardSelector(loc)); } public void SelectMaterials(ClientCard card)