mirror of
https://github.com/magefree/mage.git
synced 2025-12-20 02:30:08 -08:00
* Game: tiny leaders game mode improves (fixed AI games errors, fixed commander dupes on game restart with Karn Liberated, #6113);
This commit is contained in:
parent
c1db466d05
commit
ac8d3de474
8 changed files with 75 additions and 33 deletions
|
|
@ -304,11 +304,11 @@ public class MCTSNode {
|
|||
protected Game createSimulation(Game game, UUID playerId) {
|
||||
Game sim = game.copy();
|
||||
|
||||
for (Player copyPlayer: sim.getState().getPlayers().values()) {
|
||||
Player origPlayer = game.getState().getPlayers().get(copyPlayer.getId()).copy();
|
||||
SimulatedPlayerMCTS newPlayer = new SimulatedPlayerMCTS(copyPlayer.getId(), true);
|
||||
for (Player oldPlayer: sim.getState().getPlayers().values()) {
|
||||
Player origPlayer = game.getState().getPlayers().get(oldPlayer.getId()).copy();
|
||||
SimulatedPlayerMCTS newPlayer = new SimulatedPlayerMCTS(oldPlayer, true);
|
||||
newPlayer.restore(origPlayer);
|
||||
sim.getState().getPlayers().put(copyPlayer.getId(), newPlayer);
|
||||
sim.getState().getPlayers().put(oldPlayer.getId(), newPlayer);
|
||||
}
|
||||
randomizePlayers(sim, playerId);
|
||||
sim.setSimulation(true);
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@ import mage.constants.Outcome;
|
|||
import mage.game.Game;
|
||||
import mage.game.combat.CombatGroup;
|
||||
import mage.game.events.GameEvent;
|
||||
import mage.game.match.MatchPlayer;
|
||||
import mage.game.permanent.Permanent;
|
||||
import mage.game.stack.StackAbility;
|
||||
import mage.players.Player;
|
||||
|
|
@ -33,9 +34,10 @@ public class SimulatedPlayerMCTS extends MCTSPlayer {
|
|||
private int actionCount = 0;
|
||||
private static final Logger logger = Logger.getLogger(SimulatedPlayerMCTS.class);
|
||||
|
||||
public SimulatedPlayerMCTS(UUID id, boolean isSimulatedPlayer) {
|
||||
super(id);
|
||||
public SimulatedPlayerMCTS(Player originalPlayer, boolean isSimulatedPlayer) {
|
||||
super(originalPlayer.getId());
|
||||
this.isSimulatedPlayer = isSimulatedPlayer;
|
||||
this.matchPlayer = new MatchPlayer(originalPlayer.getMatchPlayer(), this);
|
||||
}
|
||||
|
||||
public SimulatedPlayerMCTS(final SimulatedPlayerMCTS player) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue