AI and player play correctly

This commit is contained in:
Cyprien111
2025-03-31 10:10:27 +02:00
parent 7ba07d7498
commit a5d8512b34
3 changed files with 18 additions and 11 deletions

View File

@@ -1,3 +1,4 @@
import java.util.List;
import java.util.Random; import java.util.Random;
public class GomokuAI{ public class GomokuAI{
@@ -17,20 +18,25 @@ public class GomokuAI{
* @param Board The actual Gomoku board. * @param Board The actual Gomoku board.
* @return The coordinate of the move played. * @return The coordinate of the move played.
*/ */
public Coordinate chooseMove(GomokuBoard board){ public GomokuCell chooseMove(GomokuBoard board){
List<GomokuCell> playableCell = board.getPlayableCells();
GomokuCell playCell;
int x=0,y=0; int x=0,y=0;
if(difficulty == 0)
{
int rand = random.nextInt(board.getPlayableCells().size());
switch (difficulty) {
case 0:
playCell = playableCell.get(random.nextInt(playableCell.size()));
break;
case 1:
System.out.println("L'IA réflechit...");
default:
throw new AssertionError();
} }
System.out.println("L'IA à choisi : "+ x+", "+ y); System.out.println("L'IA à choisi : "+ x+", "+ y);
return new Coordinate(x,y); return playCell;
} }
} }

View File

@@ -1,5 +1,6 @@
import java.io.Console; import java.io.Console;
import javax.swing.plaf.basic.BasicBorders;
public class Human extends Player{ public class Human extends Player{
@@ -13,7 +14,7 @@ public class Human extends Player{
* @param Board The actual Gomoku board. * @param Board The actual Gomoku board.
* @return The coordinate of the move played. * @return The coordinate of the move played.
*/ */
public Coordinate chooseMove(GomokuBoard board){ public GomokuCell chooseMove(GomokuBoard board){
Console cons = System.console(); Console cons = System.console();
@@ -60,6 +61,6 @@ public class Human extends Player{
System.out.println("Vous avez saisi : "+ x+", "+ y); System.out.println("Vous avez saisi : "+ x+", "+ y);
return new Coordinate(x,y); return board.get(x,y);
} }
} }

View File

@@ -38,5 +38,5 @@ abstract class Player{
* @param Board The actual Gomoku board. * @param Board The actual Gomoku board.
* @return The coordinate of the move played. * @return The coordinate of the move played.
*/ */
public abstract Coordinate chooseMove(GomokuBoard board); public abstract GomokuCell chooseMove(GomokuBoard board);
} }