From 3d53d28f5e20c447bebcec669ec856d9edc45318 Mon Sep 17 00:00:00 2001 From: Oleg Agafonov Date: Thu, 4 Jan 2018 18:14:22 +0400 Subject: [PATCH] Fixed AI infinite loop on wrong answers input (tests affected) --- .../Mage.Player.AI.MA/src/mage/player/ai/ComputerPlayer6.java | 4 +++- .../src/mage/player/ai/ComputerPlayer2.java | 4 +++- Mage.Tests/src/test/java/org/mage/test/player/TestPlayer.java | 4 +++- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/Mage.Server.Plugins/Mage.Player.AI.MA/src/mage/player/ai/ComputerPlayer6.java b/Mage.Server.Plugins/Mage.Player.AI.MA/src/mage/player/ai/ComputerPlayer6.java index 92952e9ec92..1776806eed0 100644 --- a/Mage.Server.Plugins/Mage.Player.AI.MA/src/mage/player/ai/ComputerPlayer6.java +++ b/Mage.Server.Plugins/Mage.Player.AI.MA/src/mage/player/ai/ComputerPlayer6.java @@ -767,7 +767,9 @@ public class ComputerPlayer6 extends ComputerPlayer /*implements Player*/ { return super.choose(outcome, choice, game); } if (!choice.isChosen()) { - return choice.setChoiceByAnswers(choices, true); + if(!choice.setChoiceByAnswers(choices, true)){ + choice.setRandomChoice(); + } } return true; } diff --git a/Mage.Server.Plugins/Mage.Player.AIMinimax/src/mage/player/ai/ComputerPlayer2.java b/Mage.Server.Plugins/Mage.Player.AIMinimax/src/mage/player/ai/ComputerPlayer2.java index b2e36b59f5d..e53a7c35d5f 100644 --- a/Mage.Server.Plugins/Mage.Player.AIMinimax/src/mage/player/ai/ComputerPlayer2.java +++ b/Mage.Server.Plugins/Mage.Player.AIMinimax/src/mage/player/ai/ComputerPlayer2.java @@ -478,7 +478,9 @@ public class ComputerPlayer2 extends ComputerPlayer implements Player { } if (!choice.isChosen()) { - return choice.setChoiceByAnswers(choices, true); + if(!choice.setChoiceByAnswers(choices, true)){ + choice.setRandomChoice(); + } } return true; diff --git a/Mage.Tests/src/test/java/org/mage/test/player/TestPlayer.java b/Mage.Tests/src/test/java/org/mage/test/player/TestPlayer.java index 80c2bea0a3a..417fc5a46d3 100644 --- a/Mage.Tests/src/test/java/org/mage/test/player/TestPlayer.java +++ b/Mage.Tests/src/test/java/org/mage/test/player/TestPlayer.java @@ -740,7 +740,9 @@ public class TestPlayer implements Player { @Override public boolean choose(Outcome outcome, Choice choice, Game game) { if (!choices.isEmpty()) { - return choice.setChoiceByAnswers(choices, true); + if(choice.setChoiceByAnswers(choices, true)){ + return true; + } } return computerPlayer.choose(outcome, choice, game); }