added AI for AI mode
This commit is contained in:
@@ -3,10 +3,11 @@ package main;
|
|||||||
public class Board {
|
public class Board {
|
||||||
|
|
||||||
private char[][] board;
|
private char[][] board;
|
||||||
private final int BOARD_SIZE = 4;
|
private final int BOARD_SIZE;
|
||||||
private char[][] symbols;
|
private char[][] symbols;
|
||||||
|
|
||||||
public Board() {
|
public Board() {
|
||||||
|
BOARD_SIZE = Options.boardSize;
|
||||||
board = new char[BOARD_SIZE * 3 + 1][BOARD_SIZE * 3 + 1];
|
board = new char[BOARD_SIZE * 3 + 1][BOARD_SIZE * 3 + 1];
|
||||||
for (int x = 0; x < board.length; x++) {
|
for (int x = 0; x < board.length; x++) {
|
||||||
for (int y = 0; y < board[0].length; y++) {
|
for (int y = 0; y < board[0].length; y++) {
|
||||||
@@ -52,12 +53,12 @@ public class Board {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public char testWinner() {
|
public char testWinner() {
|
||||||
for (int x = 0; x < symbols.length - 1; x++) {
|
for (int x = 0; x < symbols.length; x++) {
|
||||||
if (symbols[x][0] == symbols[x][1] && symbols[x][0] == symbols[x][2] && symbols[x][0] != 0) {
|
if (symbols[x][0] == symbols[x][1] && symbols[x][0] == symbols[x][2] && symbols[x][0] != 0) {
|
||||||
return symbols[x][0];
|
return symbols[x][0];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for (int y = 0; y < symbols[0].length - 1; y++) {
|
for (int y = 0; y < symbols[0].length; y++) {
|
||||||
if (symbols[0][y] == symbols[1][y] && symbols[0][y] == symbols[2][y] && symbols[0][y] != 0) {
|
if (symbols[0][y] == symbols[1][y] && symbols[0][y] == symbols[2][y] && symbols[0][y] != 0) {
|
||||||
return symbols[0][y];
|
return symbols[0][y];
|
||||||
}
|
}
|
||||||
|
|||||||
14
Tic-Tac-Toe/src/main/Cmd.java
Normal file
14
Tic-Tac-Toe/src/main/Cmd.java
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
package main;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
|
||||||
|
public class Cmd {
|
||||||
|
|
||||||
|
public static void cls() {
|
||||||
|
try {
|
||||||
|
new ProcessBuilder("cmd", "/c", "cls").inheritIO().start().waitFor();
|
||||||
|
} catch (InterruptedException | IOException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -3,6 +3,7 @@ package main;
|
|||||||
public class Launcher {
|
public class Launcher {
|
||||||
|
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
|
Cmd.cls();
|
||||||
new MainMenu();
|
new MainMenu();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -28,8 +28,10 @@ public abstract class MenuScreen {
|
|||||||
cursorPos++;
|
cursorPos++;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
Cmd.cls();
|
||||||
select(cursorPos);
|
select(cursorPos);
|
||||||
}
|
}
|
||||||
|
Cmd.cls();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -2,9 +2,9 @@ package main;
|
|||||||
|
|
||||||
public class Options extends MenuScreen {
|
public class Options extends MenuScreen {
|
||||||
|
|
||||||
public static char player1Symbol;
|
public static char player1Symbol = 'X';
|
||||||
public static char player2Symbol;
|
public static char player2Symbol = 'O';
|
||||||
public static int boardSize;
|
public static int boardSize = 4;
|
||||||
|
|
||||||
public Options() {
|
public Options() {
|
||||||
cursorPos = 0;
|
cursorPos = 0;
|
||||||
@@ -13,11 +13,6 @@ public class Options extends MenuScreen {
|
|||||||
tabs[1] = "Player 2 symbol";
|
tabs[1] = "Player 2 symbol";
|
||||||
tabs[2] = "Spielfeldgröße";
|
tabs[2] = "Spielfeldgröße";
|
||||||
tabs[3] = "Zurück";
|
tabs[3] = "Zurück";
|
||||||
|
|
||||||
player1Symbol = 'X';
|
|
||||||
player2Symbol = 'O';
|
|
||||||
boardSize = 4;
|
|
||||||
|
|
||||||
init();
|
init();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -31,15 +26,38 @@ public class Options extends MenuScreen {
|
|||||||
player2Symbol = requestSymbol();
|
player2Symbol = requestSymbol();
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
|
boardSize = requestNumber();
|
||||||
|
if (boardSize < 2) {
|
||||||
|
boardSize = 2;
|
||||||
|
}
|
||||||
|
if (boardSize % 2 == 1) {
|
||||||
|
boardSize++;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
|
stopLoop();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private int requestNumber() {
|
||||||
|
System.out.println("Bitte gebe eine Zahl ein:");
|
||||||
|
String in = scanner.next();
|
||||||
|
while (!in.matches("[0-9]+")) {
|
||||||
|
System.out.println("Bitte eine Zahl eingeben!");
|
||||||
|
in = scanner.next();
|
||||||
|
}
|
||||||
|
return Integer.parseInt(in);
|
||||||
|
}
|
||||||
|
|
||||||
private char requestSymbol() {
|
private char requestSymbol() {
|
||||||
System.out.println("Bitte neues Symbol eingeben:");
|
System.out.println("Bitte neues Symbol eingeben:");
|
||||||
return 0;
|
String in = scanner.next();
|
||||||
|
while (in.length() > 1) {
|
||||||
|
System.out.println("Bitte nur ein Symbol!");
|
||||||
|
in = scanner.next();
|
||||||
|
}
|
||||||
|
return in.charAt(0);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -54,7 +72,18 @@ public class Options extends MenuScreen {
|
|||||||
} else {
|
} else {
|
||||||
System.out.print(" ");
|
System.out.print(" ");
|
||||||
}
|
}
|
||||||
System.out.println(tabs[i]);
|
System.out.print(tabs[i]);
|
||||||
|
switch (i) {
|
||||||
|
case 0:
|
||||||
|
System.out.println(": " + player1Symbol);
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
System.out.println(": " + player2Symbol);
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
System.out.println(": " + boardSize);
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -8,8 +8,276 @@ public class PlayerAI extends Player {
|
|||||||
super(symbol);
|
super(symbol);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void calculateNextMove(char[][] board) {
|
public boolean calculateNextMove(char[][] board) {
|
||||||
nextMove = 5;
|
int round = 0;
|
||||||
|
for (int x = 0; x < board.length; x++) {
|
||||||
|
for (int y = 0; y < board[0].length; y++) {
|
||||||
|
if (board[x][y] != 0) {
|
||||||
|
round++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
switch (round) {
|
||||||
|
case 0:
|
||||||
|
nextMove = 5;
|
||||||
|
return true;
|
||||||
|
case 1:
|
||||||
|
if (board[1][1] == 0) {
|
||||||
|
nextMove = 5;
|
||||||
|
} else {
|
||||||
|
int rand = (int) (Math.random() * 9) + 1;
|
||||||
|
if (rand % 2 == 0) {
|
||||||
|
rand++;
|
||||||
|
}
|
||||||
|
if (rand == 5) {
|
||||||
|
rand = 7;
|
||||||
|
}
|
||||||
|
nextMove = rand;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
case 2:
|
||||||
|
if (board[1][0] != 0) {
|
||||||
|
nextMove = 3;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
if (board[0][1] != 0) {
|
||||||
|
nextMove = 1;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
if (board[2][1] != 0) {
|
||||||
|
nextMove = 9;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
if (board[1][2] != 0) {
|
||||||
|
nextMove = 7;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 4:
|
||||||
|
if (board[0][0] == getSymbol()) {
|
||||||
|
nextMove = 3;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
if (board[2][0] == getSymbol()) {
|
||||||
|
nextMove = 9;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
if (board[0][2] == getSymbol()) {
|
||||||
|
nextMove = 1;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
if (board[2][2] == getSymbol()) {
|
||||||
|
nextMove = 7;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
if (!attack(board)) {
|
||||||
|
if (!block(board)) {
|
||||||
|
for (int i = 0; i < 8; i++) {
|
||||||
|
if (board[i % 3][i / 3] == 0) {
|
||||||
|
nextMove = i + 1;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}else {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}else {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean attack(char[][] board) {
|
||||||
|
if (board[0][0] == board[1][0] && board[0][0] == getSymbol() && board[0][0] != 0 && board[2][0] == 0) {
|
||||||
|
nextMove = 3;
|
||||||
|
return true;
|
||||||
|
} else if (board[0][1] == board[1][1] && board[0][1] == getSymbol() && board[0][1] != 0
|
||||||
|
&& board[2][1] == 0) {
|
||||||
|
nextMove = 6;
|
||||||
|
return true;
|
||||||
|
} else if (board[0][2] == board[1][2] && board[0][2] == getSymbol() && board[0][2] != 0
|
||||||
|
&& board[2][2] == 0) {
|
||||||
|
nextMove = 9;
|
||||||
|
return true;
|
||||||
|
} else if (board[1][0] == board[2][0] && board[1][0] == getSymbol() && board[1][0] != 0
|
||||||
|
&& board[0][0] == 0) {
|
||||||
|
nextMove = 1;
|
||||||
|
return true;
|
||||||
|
} else if (board[1][1] == board[2][1] && board[1][1] == getSymbol() && board[1][1] != 0
|
||||||
|
&& board[0][1] == 0) {
|
||||||
|
nextMove = 4;
|
||||||
|
return true;
|
||||||
|
} else if (board[1][2] == board[2][2] && board[1][2] == getSymbol() && board[1][2] != 0
|
||||||
|
&& board[0][2] == 0) {
|
||||||
|
nextMove = 7;
|
||||||
|
return true;
|
||||||
|
|
||||||
|
} else if (board[0][0] == board[0][1] && board[0][0] == getSymbol() && board[0][0] != 0
|
||||||
|
&& board[0][2] == 0) {
|
||||||
|
nextMove = 7;
|
||||||
|
return true;
|
||||||
|
} else if (board[1][0] == board[1][1] && board[1][0] == getSymbol() && board[1][0] != 0
|
||||||
|
&& board[1][2] == 0) {
|
||||||
|
nextMove = 8;
|
||||||
|
return true;
|
||||||
|
} else if (board[2][0] == board[2][1] && board[2][0] == getSymbol() && board[2][0] != 0
|
||||||
|
&& board[2][2] == 0) {
|
||||||
|
nextMove = 9;
|
||||||
|
return true;
|
||||||
|
} else if (board[0][1] == board[0][2] && board[0][1] == getSymbol() && board[0][1] != 0
|
||||||
|
&& board[0][0] == 0) {
|
||||||
|
nextMove = 1;
|
||||||
|
return true;
|
||||||
|
} else if (board[1][1] == board[1][2] && board[1][1] == getSymbol() && board[1][1] != 0
|
||||||
|
&& board[1][0] == 0) {
|
||||||
|
nextMove = 2;
|
||||||
|
return true;
|
||||||
|
} else if (board[2][1] == board[2][2] && board[2][1] == getSymbol() && board[2][1] != 0
|
||||||
|
&& board[2][0] == 0) {
|
||||||
|
nextMove = 3;
|
||||||
|
return true;
|
||||||
|
|
||||||
|
} else if (board[0][0] == board[1][1] && board[1][1] == getSymbol() && board[1][1] != 0
|
||||||
|
&& board[2][2] == 0) {
|
||||||
|
nextMove = 9;
|
||||||
|
return true;
|
||||||
|
} else if (board[0][2] == board[1][1] && board[1][1] == getSymbol() && board[1][1] != 0
|
||||||
|
&& board[2][0] == 0) {
|
||||||
|
nextMove = 3;
|
||||||
|
return true;
|
||||||
|
} else if (board[2][0] == board[1][1] && board[1][1] == getSymbol() && board[1][1] != 0
|
||||||
|
&& board[0][2] == 0) {
|
||||||
|
nextMove = 7;
|
||||||
|
return true;
|
||||||
|
} else if (board[2][2] == board[1][1] && board[1][1] == getSymbol() && board[1][1] != 0
|
||||||
|
&& board[0][0] == 0) {
|
||||||
|
nextMove = 1;
|
||||||
|
return true;
|
||||||
|
|
||||||
|
} else if (board[0][0] == board[2][0] && board[0][0] == getSymbol() && board[0][0] != 0
|
||||||
|
&& board[1][0] == 0) {
|
||||||
|
nextMove = 2;
|
||||||
|
return true;
|
||||||
|
} else if (board[0][1] == board[2][1] && board[0][1] == getSymbol() && board[0][1] != 0
|
||||||
|
&& board[1][1] == 0) {
|
||||||
|
nextMove = 5;
|
||||||
|
return true;
|
||||||
|
} else if (board[0][2] == board[2][2] && board[0][2] == getSymbol() && board[0][2] != 0
|
||||||
|
&& board[1][2] == 0) {
|
||||||
|
nextMove = 8;
|
||||||
|
return true;
|
||||||
|
} else if (board[0][0] == board[0][2] && board[0][0] == getSymbol() && board[0][0] != 0
|
||||||
|
&& board[0][1] == 0) {
|
||||||
|
nextMove = 4;
|
||||||
|
return true;
|
||||||
|
} else if (board[1][0] == board[1][2] && board[1][0] == getSymbol() && board[1][0] != 0
|
||||||
|
&& board[1][1] == 0) {
|
||||||
|
nextMove = 5;
|
||||||
|
return true;
|
||||||
|
} else if (board[2][0] == board[2][2] && board[2][0] == getSymbol() && board[2][0] != 0
|
||||||
|
&& board[2][1] == 0) {
|
||||||
|
nextMove = 6;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
private boolean block(char[][] board) {
|
||||||
|
if (board[0][0] == board[1][0] && board[0][0] != getSymbol() && board[0][0] != 0 && board[2][0] == 0) {
|
||||||
|
nextMove = 3;
|
||||||
|
return true;
|
||||||
|
} else if (board[0][1] == board[1][1] && board[0][1] != getSymbol() && board[0][1] != 0
|
||||||
|
&& board[2][1] == 0) {
|
||||||
|
nextMove = 6;
|
||||||
|
return true;
|
||||||
|
} else if (board[0][2] == board[1][2] && board[0][2] != getSymbol() && board[0][2] != 0
|
||||||
|
&& board[2][2] == 0) {
|
||||||
|
nextMove = 9;
|
||||||
|
return true;
|
||||||
|
} else if (board[1][0] == board[2][0] && board[1][0] != getSymbol() && board[1][0] != 0
|
||||||
|
&& board[0][0] == 0) {
|
||||||
|
nextMove = 1;
|
||||||
|
return true;
|
||||||
|
} else if (board[1][1] == board[2][1] && board[1][1] != getSymbol() && board[1][1] != 0
|
||||||
|
&& board[0][1] == 0) {
|
||||||
|
nextMove = 4;
|
||||||
|
return true;
|
||||||
|
} else if (board[1][2] == board[2][2] && board[1][2] != getSymbol() && board[1][2] != 0
|
||||||
|
&& board[0][2] == 0) {
|
||||||
|
nextMove = 7;
|
||||||
|
return true;
|
||||||
|
|
||||||
|
} else if (board[0][0] == board[0][1] && board[0][0] != getSymbol() && board[0][0] != 0
|
||||||
|
&& board[0][2] == 0) {
|
||||||
|
nextMove = 7;
|
||||||
|
return true;
|
||||||
|
} else if (board[1][0] == board[1][1] && board[1][0] != getSymbol() && board[1][0] != 0
|
||||||
|
&& board[1][2] == 0) {
|
||||||
|
nextMove = 8;
|
||||||
|
return true;
|
||||||
|
} else if (board[2][0] == board[2][1] && board[2][0] != getSymbol() && board[2][0] != 0
|
||||||
|
&& board[2][2] == 0) {
|
||||||
|
nextMove = 9;
|
||||||
|
return true;
|
||||||
|
} else if (board[0][1] == board[0][2] && board[0][1] != getSymbol() && board[0][1] != 0
|
||||||
|
&& board[0][0] == 0) {
|
||||||
|
nextMove = 1;
|
||||||
|
return true;
|
||||||
|
} else if (board[1][1] == board[1][2] && board[1][1] != getSymbol() && board[1][1] != 0
|
||||||
|
&& board[1][0] == 0) {
|
||||||
|
nextMove = 2;
|
||||||
|
return true;
|
||||||
|
} else if (board[2][1] == board[2][2] && board[2][1] != getSymbol() && board[2][1] != 0
|
||||||
|
&& board[2][0] == 0) {
|
||||||
|
nextMove = 3;
|
||||||
|
return true;
|
||||||
|
|
||||||
|
} else if (board[0][0] == board[1][1] && board[1][1] != getSymbol() && board[1][1] != 0
|
||||||
|
&& board[2][2] == 0) {
|
||||||
|
nextMove = 9;
|
||||||
|
return true;
|
||||||
|
} else if (board[0][2] == board[1][1] && board[1][1] != getSymbol() && board[1][1] != 0
|
||||||
|
&& board[2][0] == 0) {
|
||||||
|
nextMove = 3;
|
||||||
|
return true;
|
||||||
|
} else if (board[2][0] == board[1][1] && board[1][1] != getSymbol() && board[1][1] != 0
|
||||||
|
&& board[0][2] == 0) {
|
||||||
|
nextMove = 7;
|
||||||
|
return true;
|
||||||
|
} else if (board[2][2] == board[1][1] && board[1][1] != getSymbol() && board[1][1] != 0
|
||||||
|
&& board[0][0] == 0) {
|
||||||
|
nextMove = 1;
|
||||||
|
return true;
|
||||||
|
|
||||||
|
} else if (board[0][0] == board[2][0] && board[0][0] != getSymbol() && board[0][0] != 0
|
||||||
|
&& board[1][0] == 0) {
|
||||||
|
nextMove = 2;
|
||||||
|
return true;
|
||||||
|
} else if (board[0][1] == board[2][1] && board[0][1] != getSymbol() && board[0][1] != 0
|
||||||
|
&& board[1][1] == 0) {
|
||||||
|
nextMove = 5;
|
||||||
|
return true;
|
||||||
|
} else if (board[0][2] == board[2][2] && board[0][2] != getSymbol() && board[0][2] != 0
|
||||||
|
&& board[1][2] == 0) {
|
||||||
|
nextMove = 8;
|
||||||
|
return true;
|
||||||
|
} else if (board[0][0] == board[0][2] && board[0][0] != getSymbol() && board[0][0] != 0
|
||||||
|
&& board[0][1] == 0) {
|
||||||
|
nextMove = 4;
|
||||||
|
return true;
|
||||||
|
} else if (board[1][0] == board[1][2] && board[1][0] != getSymbol() && board[1][0] != 0
|
||||||
|
&& board[1][1] == 0) {
|
||||||
|
nextMove = 5;
|
||||||
|
return true;
|
||||||
|
} else if (board[2][0] == board[2][2] && board[2][0] != getSymbol() && board[2][0] != 0
|
||||||
|
&& board[2][1] == 0) {
|
||||||
|
nextMove = 6;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -15,14 +15,14 @@ public class TicTacToe {
|
|||||||
|
|
||||||
board = new Board();
|
board = new Board();
|
||||||
|
|
||||||
switch(mode) {
|
switch (mode) {
|
||||||
case MODE_NORMAL:
|
case MODE_NORMAL:
|
||||||
player1 = new Player('X');
|
player1 = new Player(Options.player1Symbol);
|
||||||
player2 = new Player('O');
|
player2 = new Player(Options.player2Symbol);
|
||||||
break;
|
break;
|
||||||
case MODE_AI:
|
case MODE_AI:
|
||||||
player1 = new Player('X');
|
player1 = new Player(Options.player1Symbol);
|
||||||
player2 = new PlayerAI('O');
|
player2 = new PlayerAI(Options.player2Symbol);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
turn = player1;
|
turn = player1;
|
||||||
@@ -37,7 +37,9 @@ public class TicTacToe {
|
|||||||
board.draw();
|
board.draw();
|
||||||
turn.printTurnMessage();
|
turn.printTurnMessage();
|
||||||
if (turn instanceof PlayerAI) {
|
if (turn instanceof PlayerAI) {
|
||||||
((PlayerAI)turn).calculateNextMove(board.getBoard());
|
if (!((PlayerAI) turn).calculateNextMove(board.getBoard())) {
|
||||||
|
System.exit(0);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
int field = turn.makeTurn();
|
int field = turn.makeTurn();
|
||||||
while (!board.isFieldFree(field)) {
|
while (!board.isFieldFree(field)) {
|
||||||
@@ -48,9 +50,11 @@ public class TicTacToe {
|
|||||||
board.place(field, turn.getSymbol());
|
board.place(field, turn.getSymbol());
|
||||||
char winner = board.testWinner();
|
char winner = board.testWinner();
|
||||||
if (winner > 1) {
|
if (winner > 1) {
|
||||||
|
Cmd.cls();
|
||||||
board.draw();
|
board.draw();
|
||||||
System.out.println(winner + " hat gewonnen!");
|
System.out.println(winner + " hat gewonnen!");
|
||||||
} else if (winner == 1) {
|
} else if (winner == 1) {
|
||||||
|
Cmd.cls();
|
||||||
board.draw();
|
board.draw();
|
||||||
System.out.println("Unetschieden!");
|
System.out.println("Unetschieden!");
|
||||||
}
|
}
|
||||||
@@ -58,7 +62,7 @@ public class TicTacToe {
|
|||||||
System.out.println("Noch eine Runde? [y/n]");
|
System.out.println("Noch eine Runde? [y/n]");
|
||||||
if (Input.yesNoDialog()) {
|
if (Input.yesNoDialog()) {
|
||||||
board.clear();
|
board.clear();
|
||||||
}else {
|
} else {
|
||||||
running = false;
|
running = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -67,6 +71,6 @@ public class TicTacToe {
|
|||||||
} else {
|
} else {
|
||||||
turn = player1;
|
turn = player1;
|
||||||
}
|
}
|
||||||
|
Cmd.cls();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user