fix
This commit is contained in:
@@ -26,10 +26,13 @@ public class GomokuGame {
|
|||||||
int currentPlayerInt;
|
int currentPlayerInt;
|
||||||
|
|
||||||
Coordinate cellCoor = null;
|
Coordinate cellCoor = null;
|
||||||
|
GomokuGame(boolean renderer){
|
||||||
|
this.playRenderer = renderer;
|
||||||
|
}
|
||||||
|
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
// Test
|
// Test
|
||||||
GomokuGame g = new GomokuGame();
|
GomokuGame g = new GomokuGame(false);
|
||||||
System.out.println(g.load(Path.of(".cache/test.dat")));
|
System.out.println(g.load(Path.of(".cache/test.dat")));
|
||||||
g.renderer = new ConsoleRenderer();
|
g.renderer = new ConsoleRenderer();
|
||||||
g.renderer.init(g);
|
g.renderer.init(g);
|
||||||
@@ -38,6 +41,14 @@ public class GomokuGame {
|
|||||||
g.renderer.update();
|
g.renderer.update();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This method init the game with these parameters.
|
||||||
|
* @param bot If the player want to play with a bot it's true.
|
||||||
|
* @param name1 Name of player one.
|
||||||
|
* @param name2 Name of player two.
|
||||||
|
* @param tokens Number of tokens for each player.
|
||||||
|
*/
|
||||||
|
|
||||||
public void newGame(boolean bot, String name1, String name2, int tokens) {
|
public void newGame(boolean bot, String name1, String name2, int tokens) {
|
||||||
Color[] possible = { Color.WHITE, Color.BLACK };
|
Color[] possible = { Color.WHITE, Color.BLACK };
|
||||||
int rnd = new Random().nextInt(possible.length);
|
int rnd = new Random().nextInt(possible.length);
|
||||||
@@ -61,6 +72,9 @@ public class GomokuGame {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This method is the main loop of the game
|
||||||
|
*/
|
||||||
public void startGame() {
|
public void startGame() {
|
||||||
/*
|
/*
|
||||||
GomokuCell actualPlayedCell = play(player1);
|
GomokuCell actualPlayedCell = play(player1);
|
||||||
@@ -80,6 +94,7 @@ public class GomokuGame {
|
|||||||
this.renderer.updateStatus("Le joueur " + this.currentPlayer + "a gagné !");
|
this.renderer.updateStatus("Le joueur " + this.currentPlayer + "a gagné !");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
this.currentPlayer.tokens -= 1;
|
||||||
this.currentPlayer = this.nextPlayer();
|
this.currentPlayer = this.nextPlayer();
|
||||||
}
|
}
|
||||||
this.renderer.updateStatus("Match nul, il ne reste plus de jeton.");
|
this.renderer.updateStatus("Match nul, il ne reste plus de jeton.");
|
||||||
@@ -103,7 +118,7 @@ public class GomokuGame {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
cellToPlay= this.board.get(this.cellCoor.x, this.cellCoor.y);
|
cellToPlay= this.board.get(this.cellCoor.x, this.cellCoor.y);
|
||||||
if (!cellToPlay.isPlayable()) { // If the cell is not playable we return null to not play.
|
if (cellToPlay == null || !cellToPlay.isPlayable()) { // If the cell is not playable we return null to not play.
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
cellToPlay.setState(player.color);
|
cellToPlay.setState(player.color);
|
||||||
@@ -118,7 +133,11 @@ public class GomokuGame {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This method save the game on a file.
|
||||||
|
* @param filename The file to save.
|
||||||
|
* @return True if successful and false if not.
|
||||||
|
*/
|
||||||
public boolean save(Path filename) {
|
public boolean save(Path filename) {
|
||||||
// save the game state to the file
|
// save the game state to the file
|
||||||
// 1. Open the file
|
// 1. Open the file
|
||||||
@@ -177,6 +196,11 @@ public class GomokuGame {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This method load a game on the file.
|
||||||
|
* @param filename The file to load.
|
||||||
|
* @return True if successful and False if not.
|
||||||
|
*/
|
||||||
public boolean load(Path filename) {
|
public boolean load(Path filename) {
|
||||||
// load the game state from the file
|
// load the game state from the file
|
||||||
// 1. Open the file
|
// 1. Open the file
|
||||||
@@ -259,6 +283,10 @@ public class GomokuGame {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This method return the next player to play.
|
||||||
|
* @return The next player.
|
||||||
|
*/
|
||||||
private Player nextPlayer(){
|
private Player nextPlayer(){
|
||||||
if (this.currentPlayer == this.player1){
|
if (this.currentPlayer == this.player1){
|
||||||
return this.player2;
|
return this.player2;
|
||||||
@@ -266,6 +294,9 @@ public class GomokuGame {
|
|||||||
return player1;
|
return player1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the board.
|
||||||
|
*/
|
||||||
public GomokuBoard getBoard() {
|
public GomokuBoard getBoard() {
|
||||||
return this.board;
|
return this.board;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user