Loading jeuAssemblage/src/bot/Move.java +12 −1 Changes for jeuAssemblage/src/bot/Move.java: 12 added lines, 1 removed line. Original line number Diff line number Diff line Loading @@ -4,7 +4,18 @@ import piece.Piece; public class Move { protected Piece p; protected int pieceId; protected int x; protected int y; public Move(int pieceId, int x, int y) { this.pieceId = pieceId; this.x = x; this.y = y; } @Override public String toString() { return "Piece : " + this.pieceId + " x : " + this.x + " y : " + this.y; } } jeuAssemblage/src/bot/difficulty/AbstractDifficulty.java 0 → 100644 +49 −0 Changes for jeuAssemblage/src/bot/difficulty/AbstractDifficulty.java: 49 added lines, 0 removed lines. Original line number Diff line number Diff line package bot.difficulty; import bot.Move; import bot.interfaces.IBot; import bot.interfaces.IStrategyBot; import bot.strategy.AIStrategy; import bot.strategy.AbstractStrategyMemo; import model.PlayBoard; public abstract class AbstractDifficulty implements IBot, IStrategyBot { public final int AI_STRATEGY = 0; public final int MEMO_STRATEGY = 1; protected IStrategyBot strategyBot; protected PlayBoard model; private int AIsize; public AbstractDifficulty(PlayBoard model, int strategy, int AIsize) { this.model = model; this.AIsize = AIsize; this.setStrategy(strategy); } @Override public void setStrategy(int strategy) { switch (strategy) { case AI_STRATEGY -> { this.strategyBot = new AIStrategy(this.model, AIsize); } case MEMO_STRATEGY -> { this.strategyBot = new AbstractStrategyMemo(this.model); } default -> { throw new IllegalStateException("Strategy " + strategy + " doesn't exist"); } } } @Override public Move nextMove() { return this.strategyBot.nextMove(); } } jeuAssemblage/src/bot/difficulty/EasyDifficulty.java 0 → 100644 +12 −0 Changes for jeuAssemblage/src/bot/difficulty/EasyDifficulty.java: 12 added lines, 0 removed lines. Original line number Diff line number Diff line package bot.difficulty; import bot.strategy.AIStrategy; import model.PlayBoard; public class EasyDifficulty extends AbstractDifficulty { public EasyDifficulty(PlayBoard model, int strategy) { super(model, strategy, AIStrategy.EASY); } } jeuAssemblage/src/bot/difficulty/HardDifficulty.java 0 → 100644 +11 −0 Changes for jeuAssemblage/src/bot/difficulty/HardDifficulty.java: 11 added lines, 0 removed lines. Original line number Diff line number Diff line package bot.difficulty; import bot.strategy.AIStrategy; import model.PlayBoard; public class HardDifficulty extends AbstractDifficulty { public HardDifficulty(PlayBoard model, int strategy) { super(model, strategy, AIStrategy.HARD); } } jeuAssemblage/src/bot/difficulty/MediumDifficulty.java 0 → 100644 +11 −0 Changes for jeuAssemblage/src/bot/difficulty/MediumDifficulty.java: 11 added lines, 0 removed lines. Original line number Diff line number Diff line package bot.difficulty; import bot.strategy.AIStrategy; import model.PlayBoard; public class MediumDifficulty extends AbstractDifficulty { public MediumDifficulty(PlayBoard model, int strategy) { super(model, strategy, AIStrategy.MEDIUM); } } Loading
jeuAssemblage/src/bot/Move.java +12 −1 Changes for jeuAssemblage/src/bot/Move.java: 12 added lines, 1 removed line. Original line number Diff line number Diff line Loading @@ -4,7 +4,18 @@ import piece.Piece; public class Move { protected Piece p; protected int pieceId; protected int x; protected int y; public Move(int pieceId, int x, int y) { this.pieceId = pieceId; this.x = x; this.y = y; } @Override public String toString() { return "Piece : " + this.pieceId + " x : " + this.x + " y : " + this.y; } }
jeuAssemblage/src/bot/difficulty/AbstractDifficulty.java 0 → 100644 +49 −0 Changes for jeuAssemblage/src/bot/difficulty/AbstractDifficulty.java: 49 added lines, 0 removed lines. Original line number Diff line number Diff line package bot.difficulty; import bot.Move; import bot.interfaces.IBot; import bot.interfaces.IStrategyBot; import bot.strategy.AIStrategy; import bot.strategy.AbstractStrategyMemo; import model.PlayBoard; public abstract class AbstractDifficulty implements IBot, IStrategyBot { public final int AI_STRATEGY = 0; public final int MEMO_STRATEGY = 1; protected IStrategyBot strategyBot; protected PlayBoard model; private int AIsize; public AbstractDifficulty(PlayBoard model, int strategy, int AIsize) { this.model = model; this.AIsize = AIsize; this.setStrategy(strategy); } @Override public void setStrategy(int strategy) { switch (strategy) { case AI_STRATEGY -> { this.strategyBot = new AIStrategy(this.model, AIsize); } case MEMO_STRATEGY -> { this.strategyBot = new AbstractStrategyMemo(this.model); } default -> { throw new IllegalStateException("Strategy " + strategy + " doesn't exist"); } } } @Override public Move nextMove() { return this.strategyBot.nextMove(); } }
jeuAssemblage/src/bot/difficulty/EasyDifficulty.java 0 → 100644 +12 −0 Changes for jeuAssemblage/src/bot/difficulty/EasyDifficulty.java: 12 added lines, 0 removed lines. Original line number Diff line number Diff line package bot.difficulty; import bot.strategy.AIStrategy; import model.PlayBoard; public class EasyDifficulty extends AbstractDifficulty { public EasyDifficulty(PlayBoard model, int strategy) { super(model, strategy, AIStrategy.EASY); } }
jeuAssemblage/src/bot/difficulty/HardDifficulty.java 0 → 100644 +11 −0 Changes for jeuAssemblage/src/bot/difficulty/HardDifficulty.java: 11 added lines, 0 removed lines. Original line number Diff line number Diff line package bot.difficulty; import bot.strategy.AIStrategy; import model.PlayBoard; public class HardDifficulty extends AbstractDifficulty { public HardDifficulty(PlayBoard model, int strategy) { super(model, strategy, AIStrategy.HARD); } }
jeuAssemblage/src/bot/difficulty/MediumDifficulty.java 0 → 100644 +11 −0 Changes for jeuAssemblage/src/bot/difficulty/MediumDifficulty.java: 11 added lines, 0 removed lines. Original line number Diff line number Diff line package bot.difficulty; import bot.strategy.AIStrategy; import model.PlayBoard; public class MediumDifficulty extends AbstractDifficulty { public MediumDifficulty(PlayBoard model, int strategy) { super(model, strategy, AIStrategy.MEDIUM); } }