mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-19 12:18:00 +00:00
removed references to Aiplayer methods, next step is class removal
This commit is contained in:
@@ -34,8 +34,10 @@ import forge.control.input.InputPayManaExecuteCommands;
|
|||||||
import forge.control.input.InputSelectCards;
|
import forge.control.input.InputSelectCards;
|
||||||
import forge.control.input.InputSelectCardsFromList;
|
import forge.control.input.InputSelectCardsFromList;
|
||||||
import forge.game.GameState;
|
import forge.game.GameState;
|
||||||
|
import forge.game.ai.AiController;
|
||||||
import forge.game.player.AIPlayer;
|
import forge.game.player.AIPlayer;
|
||||||
import forge.game.player.Player;
|
import forge.game.player.Player;
|
||||||
|
import forge.game.player.PlayerControllerAi;
|
||||||
import forge.game.zone.ZoneType;
|
import forge.game.zone.ZoneType;
|
||||||
import forge.gui.GuiChoose;
|
import forge.gui.GuiChoose;
|
||||||
|
|
||||||
@@ -106,7 +108,8 @@ public class CardFactorySorceries {
|
|||||||
for( Card c : sc.getSelected())
|
for( Card c : sc.getSelected())
|
||||||
p.discard(c, spell);
|
p.discard(c, spell);
|
||||||
} else {
|
} else {
|
||||||
final List<Card> toDiscard = ((AIPlayer)p).getAi().getCardsToDiscard(sac, (String[])null, spell);
|
final AiController ai = ((PlayerControllerAi)p.getController()).getAi();
|
||||||
|
final List<Card> toDiscard = ai.getCardsToDiscard(sac, (String[])null, spell);
|
||||||
for (int i = 0; i < toDiscard.size(); i++) {
|
for (int i = 0; i < toDiscard.size(); i++) {
|
||||||
p.discard(toDiscard.get(i), spell);
|
p.discard(toDiscard.get(i), spell);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -30,8 +30,10 @@ import forge.card.spellability.SpellAbility;
|
|||||||
import forge.control.input.InputSelectCards;
|
import forge.control.input.InputSelectCards;
|
||||||
import forge.control.input.InputSelectCardsFromList;
|
import forge.control.input.InputSelectCardsFromList;
|
||||||
import forge.game.GameState;
|
import forge.game.GameState;
|
||||||
|
import forge.game.ai.AiController;
|
||||||
import forge.game.player.AIPlayer;
|
import forge.game.player.AIPlayer;
|
||||||
import forge.game.player.Player;
|
import forge.game.player.Player;
|
||||||
|
import forge.game.player.PlayerControllerAi;
|
||||||
import forge.game.zone.ZoneType;
|
import forge.game.zone.ZoneType;
|
||||||
import forge.util.Aggregates;
|
import forge.util.Aggregates;
|
||||||
|
|
||||||
@@ -279,7 +281,8 @@ public class CostDiscard extends CostPartWithList {
|
|||||||
if (type.equals("Random")) {
|
if (type.equals("Random")) {
|
||||||
return new PaymentDecision(CardLists.getRandomSubList(hand, c));
|
return new PaymentDecision(CardLists.getRandomSubList(hand, c));
|
||||||
} else {
|
} else {
|
||||||
return new PaymentDecision(ai.getAi().getCardsToDiscard(c, type.split(";"), ability));
|
final AiController aic = ((PlayerControllerAi)ai.getController()).getAi();
|
||||||
|
return new PaymentDecision(aic.getCardsToDiscard(c, type.split(";"), ability));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -31,8 +31,10 @@ import forge.card.spellability.SpellAbility;
|
|||||||
import forge.control.input.InputSelectCards;
|
import forge.control.input.InputSelectCards;
|
||||||
import forge.control.input.InputSelectCardsFromList;
|
import forge.control.input.InputSelectCardsFromList;
|
||||||
import forge.game.GameState;
|
import forge.game.GameState;
|
||||||
|
import forge.game.ai.AiController;
|
||||||
import forge.game.player.AIPlayer;
|
import forge.game.player.AIPlayer;
|
||||||
import forge.game.player.Player;
|
import forge.game.player.Player;
|
||||||
|
import forge.game.player.PlayerControllerAi;
|
||||||
import forge.game.zone.ZoneType;
|
import forge.game.zone.ZoneType;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -128,7 +130,8 @@ public class CostReveal extends CostPartWithList {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return new PaymentDecision(ai.getAi().getCardsToDiscard(c, type.split(";"), ability));
|
final AiController aic = ((PlayerControllerAi)ai.getController()).getAi();
|
||||||
|
return new PaymentDecision(aic.getCardsToDiscard(c, type.split(";"), ability));
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -70,11 +70,13 @@ import forge.control.input.InputPayManaExecuteCommands;
|
|||||||
import forge.control.input.InputPayment;
|
import forge.control.input.InputPayment;
|
||||||
import forge.control.input.InputSelectCards;
|
import forge.control.input.InputSelectCards;
|
||||||
import forge.control.input.InputSelectCardsFromList;
|
import forge.control.input.InputSelectCardsFromList;
|
||||||
|
import forge.game.ai.AiController;
|
||||||
import forge.game.event.CardDamagedEvent;
|
import forge.game.event.CardDamagedEvent;
|
||||||
import forge.game.event.LifeLossEvent;
|
import forge.game.event.LifeLossEvent;
|
||||||
import forge.game.player.AIPlayer;
|
import forge.game.player.AIPlayer;
|
||||||
import forge.game.player.HumanPlay;
|
import forge.game.player.HumanPlay;
|
||||||
import forge.game.player.Player;
|
import forge.game.player.Player;
|
||||||
|
import forge.game.player.PlayerControllerAi;
|
||||||
import forge.game.zone.ZoneType;
|
import forge.game.zone.ZoneType;
|
||||||
import forge.gui.GuiChoose;
|
import forge.gui.GuiChoose;
|
||||||
import forge.gui.GuiDialog;
|
import forge.gui.GuiDialog;
|
||||||
@@ -286,8 +288,8 @@ public final class GameActionUtil {
|
|||||||
revealed.remove(rippledCards[i]);
|
revealed.remove(rippledCards[i]);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
AIPlayer ai = (AIPlayer) p;
|
final AiController aic = ((PlayerControllerAi)p.getController()).getAi();
|
||||||
SpellAbility saPlayed = ai.getAi().chooseAndPlaySa(rippledCards[i].getBasicSpells(), false, true);
|
SpellAbility saPlayed = aic.chooseAndPlaySa(rippledCards[i].getBasicSpells(), false, true);
|
||||||
if ( saPlayed != null )
|
if ( saPlayed != null )
|
||||||
revealed.remove(rippledCards[i]);
|
revealed.remove(rippledCards[i]);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -804,7 +804,7 @@ public class AiController {
|
|||||||
if (!player.isUnlimitedHandSize()) {
|
if (!player.isUnlimitedHandSize()) {
|
||||||
int max = Math.min(player.getZone(ZoneType.Hand).size(), size - player.getMaxHandSize());
|
int max = Math.min(player.getZone(ZoneType.Hand).size(), size - player.getMaxHandSize());
|
||||||
if( max > 0) {
|
if( max > 0) {
|
||||||
final List<Card> toDiscard = player.getAi().getCardsToDiscard(max, (String[])null, null);
|
final List<Card> toDiscard = getCardsToDiscard(max, (String[])null, null);
|
||||||
for (int i = 0; i < toDiscard.size(); i++) {
|
for (int i = 0; i < toDiscard.size(); i++) {
|
||||||
player.discard(toDiscard.get(i), null);
|
player.discard(toDiscard.get(i), null);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -51,6 +51,7 @@ import forge.game.phase.PhaseHandler;
|
|||||||
import forge.game.phase.PhaseType;
|
import forge.game.phase.PhaseType;
|
||||||
import forge.game.player.AIPlayer;
|
import forge.game.player.AIPlayer;
|
||||||
import forge.game.player.Player;
|
import forge.game.player.Player;
|
||||||
|
import forge.game.player.PlayerControllerAi;
|
||||||
import forge.game.zone.ZoneType;
|
import forge.game.zone.ZoneType;
|
||||||
import forge.gui.GuiChoose;
|
import forge.gui.GuiChoose;
|
||||||
import forge.util.Aggregates;
|
import forge.util.Aggregates;
|
||||||
@@ -1238,7 +1239,8 @@ public class ComputerUtil {
|
|||||||
public static boolean wantMulligan(AIPlayer ai) {
|
public static boolean wantMulligan(AIPlayer ai) {
|
||||||
final List<Card> handList = ai.getCardsIn(ZoneType.Hand);
|
final List<Card> handList = ai.getCardsIn(ZoneType.Hand);
|
||||||
final boolean hasLittleCmc0Cards = CardLists.getValidCards(handList, "Card.cmcEQ0", ai, null).size() < 2;
|
final boolean hasLittleCmc0Cards = CardLists.getValidCards(handList, "Card.cmcEQ0", ai, null).size() < 2;
|
||||||
return (handList.size() > ai.getAi().getIntProperty(AiProps.AI_MULLIGAN_THRESHOLD)) && hasLittleCmc0Cards;
|
final AiController aic = ((PlayerControllerAi)ai.getController()).getAi();
|
||||||
|
return (handList.size() > aic.getIntProperty(AiProps.AI_MULLIGAN_THRESHOLD)) && hasLittleCmc0Cards;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1368,7 +1370,8 @@ public class ComputerUtil {
|
|||||||
*/
|
*/
|
||||||
public static List<Card> getCardsToDiscardFromFriend(AIPlayer aiChooser, Player p, SpellAbility sa, List<Card> validCards, int min, int max) {
|
public static List<Card> getCardsToDiscardFromFriend(AIPlayer aiChooser, Player p, SpellAbility sa, List<Card> validCards, int min, int max) {
|
||||||
if (p instanceof AIPlayer) { // ask that ai player what he would like to discard
|
if (p instanceof AIPlayer) { // ask that ai player what he would like to discard
|
||||||
return ((AIPlayer) p).getAi().getCardsToDiscard(min, max, validCards, sa);
|
final AiController aic = ((PlayerControllerAi)p.getController()).getAi();
|
||||||
|
return aic.getCardsToDiscard(min, max, validCards, sa);
|
||||||
}
|
}
|
||||||
// no special options for human or remote friends
|
// no special options for human or remote friends
|
||||||
return getCardsToDiscardFromOpponent(aiChooser, p, sa, validCards, min, max);
|
return getCardsToDiscardFromOpponent(aiChooser, p, sa, validCards, min, max);
|
||||||
|
|||||||
@@ -42,9 +42,4 @@ public class AIPlayer extends Player {
|
|||||||
super(player, game);
|
super(player, game);
|
||||||
controller = new PlayerControllerAi(game, this);
|
controller = new PlayerControllerAi(game, this);
|
||||||
}
|
}
|
||||||
|
|
||||||
public AiController getAi() {
|
|
||||||
return controller instanceof PlayerControllerAi ? ((PlayerControllerAi) controller).getAi() : null;
|
|
||||||
}
|
|
||||||
|
|
||||||
} // end AIPlayer class
|
} // end AIPlayer class
|
||||||
|
|||||||
Reference in New Issue
Block a user