我正在制作Tic Tac Toe游戏。我现在坚持如何检查胜利者 我的checkwinner方法得到“java:97:error not a statement” checkwinner应该停止比赛并宣布获胜者 我的代码中的错误在哪里?
import java.util.Scanner;
public class TicTac{
private static char [][] board = new char [3][3];
private static char playerX = 'X';
private static char playerO = 'O';
private static Scanner keyboard = new Scanner(System.in);
private static char invalitplay = 0;
private static boolean playerTurn = true;
public static void main(String[] args){
runing();
}
public static void runing(){
showBoard();
currentPlayer();
gameEnd ();
}
public void menu(){
System.out.println("welcome to TIC TAC TOE ");
System.out.println("would you like to play? (Y/N)");
}
// rita upp brädet
public static void showBoard(){
for(int i = 0; i < board.length; i++) {
for(int j = 0; j < board[i].length; j++) {
System.out.print( "[ " + board[i][j] + " ]" + "\t");
}
System.out.println("\n");
}
}
//ta bort allt värde i arry / starta om spelet
public static void clearBoard(){
for(int i = 0; i < board.length; i++) {
for(int j = 0; j < board[i].length; j++) {
board[i][j] = 0;
}
}
}
public static void currentPlayer(){
for (int turn = 0; turn < 9; turn++ ){
if(playerTurn){
playerWithX();
playerTurn= false;
}
else{
playerWithO();
playerTurn = true;
}
}
System.out.println("DRAW");
}
public static void playerWithO(){
System.out.println(" Player O :Enter a row: ");
int row = keyboard.nextInt()-1;
System.out.println(" Player O :Enter a column: ");
int col = keyboard.nextInt()-1;
board[row][col] = playerO;
showBoard();
// booleanen = true;
}
public static void playerWithX(){
System.out.println("Player X: Enter a row: ");
int row = keyboard.nextInt()-1;
System.out.println("Player X:Enter a column: ");
int col = keyboard.nextInt()-1;
board[row][col] = playerX;
showBoard();
//booleanen = false;
}
// kolla vem tur det är genom att börja med player X som start
public static void checkwinner(){
if (board[0][0] == playerX && board[0][1] == playerX && board[0][2] == playerX || /* första raden*/
board[1][0] == playerX && board[1][1] == playerX && board[1][2] == playerX || /* andra raden*/
board[2][0] == playerX && board[2][1] == playerX && board[2][2] == playerX || /* tredje raden*/
board[0][0] == playerX && board[1][0] == playerX && board[2][0] == playerX || /* första colum*/
board[0][1] == playerX && board[1][1] == playerX && board[2][1] == playerX || /* andra colum*/
board[0][2] == playerX && board[1][2] == playerX && board[2][2] == playerX || /* tredje colum*/
board[0][0] == playerX && board[1][1] == playerX && board[2][2] == playerX || /* snea vänster till höger*/
board[2][0] == playerX && board[1][1] == playerX && board[0][2] == playerX){ /*snea höger till vänster*/
System.out.println("Player X has won");
gameEnd();
}else{
(board[0][0] == playerO && board[0][1] == playerO && board[0][2] == playerO || /* första raden*/
board[1][0] == playerO && board[1][1] == playerO && board[1][2] == playerO || /* andra raden*/
board[2][0] == playerO && board[2][1] == playerO && board[2][2] == playerO || /* tredje raden*/
board[0][0] == playerO && board[1][0] == playerO && board[2][0] == playerO || /* första colum*/
board[0][1] == playerO && board[1][1] == playerO && board[2][1] == playerO || /* andra colum*/
board[0][2] == playerO && board[1][2] == playerO && board[2][2] == playerO || /* tredje colum*/
board[0][0] == playerO && board[1][1] == playerO && board[2][2] == playerO || /* snea vänster till höger*/
board[2][0] == playerO && board[1][1] == playerO && board[0][2] == playerO); /* snea höger till vänster*/
System.out.println("Player O has won");
gameEnd();
}
}
public static void gameEnd (){
System.out.println("Wanna play again?");
String answer ="yes";
answer = keyboard.nextLine();
while(answer.equals("yes")){
clearBoard();
}
}
}
答案 0 :(得分:0)
您应该通过
更改您的功能cheakwinner
public static void cheakwinner(){
if (board[0][0] == playerX && board[0][1] == playerX && board[0][2] == playerX || /* första raden*/
board[1][0] == playerX && board[1][1] == playerX && board[1][2] == playerX || /* andra raden*/
board[2][0] == playerX && board[2][1] == playerX && board[2][2] == playerX || /* tredje raden*/
board[0][0] == playerX && board[1][0] == playerX && board[2][0] == playerX || /* första colum*/
board[0][1] == playerX && board[1][1] == playerX && board[2][1] == playerX || /* andra colum*/
board[0][2] == playerX && board[1][2] == playerX && board[2][2] == playerX || /* tredje colum*/
board[0][0] == playerX && board[1][1] == playerX && board[2][2] == playerX || /* snea vänster till höger*/
board[2][0] == playerX && board[1][1] == playerX && board[0][2] == playerX){ /*snea höger till vänster*/
System.out.println("Player X has won");
gameEnd();
}else if (board[0][0] == playerO && board[0][1] == playerO && board[0][2] == playerO || /* första raden*/
board[1][0] == playerO && board[1][1] == playerO && board[1][2] == playerO || /* andra raden*/
board[2][0] == playerO && board[2][1] == playerO && board[2][2] == playerO || /* tredje raden*/
board[0][0] == playerO && board[1][0] == playerO && board[2][0] == playerO || /* första colum*/
board[0][1] == playerO && board[1][1] == playerO && board[2][1] == playerO || /* andra colum*/
board[0][2] == playerO && board[1][2] == playerO && board[2][2] == playerO || /* tredje colum*/
board[0][0] == playerO && board[1][1] == playerO && board[2][2] == playerO || /* snea vänster till höger*/
board[2][0] == playerO && board[1][1] == playerO && board[0][2] == playerO) { /* snea höger till vänster*/
System.out.println("Player O has won");
gameEnd();
}
}
答案 1 :(得分:0)
您的else-if
语句缺少if
而不是:
}else{
(board[0][0] == playerO && board[0][1] == playerO && board[0][2] == playerO || /* första raden*/
board[1][0] == playerO && board[1][1] == playerO && board[1][2] == playerO || /* andra raden*/
board[2][0] == playerO && board[2][1] == playerO && board[2][2] == playerO || /* tredje raden*/
board[0][0] == playerO && board[1][0] == playerO && board[2][0] == playerO || /* första colum*/
board[0][1] == playerO && board[1][1] == playerO && board[2][1] == playerO || /* andra colum*/
board[0][2] == playerO && board[1][2] == playerO && board[2][2] == playerO || /* tredje colum*/
board[0][0] == playerO && board[1][1] == playerO && board[2][2] == playerO || /* snea vänster till höger*/
board[2][0] == playerO && board[1][1] == playerO && board[0][2] == playerO); /* snea höger till vänster*/
System.out.println("Player O has won");
gameEnd();
}
尝试:
} else if(board[0][0] == playerO && board[0][1] == playerO && board[0][2] == playerO || /* första raden*/
board[1][0] == playerO && board[1][1] == playerO && board[1][2] == playerO || /* andra raden*/
board[2][0] == playerO && board[2][1] == playerO && board[2][2] == playerO || /* tredje raden*/
board[0][0] == playerO && board[1][0] == playerO && board[2][0] == playerO || /* första colum*/
board[0][1] == playerO && board[1][1] == playerO && board[2][1] == playerO || /* andra colum*/
board[0][2] == playerO && board[1][2] == playerO && board[2][2] == playerO || /* tredje colum*/
board[0][0] == playerO && board[1][1] == playerO && board[2][2] == playerO || /* snea vänster till höger*/
board[2][0] == playerO && board[1][1] == playerO && board[0][2] == playerO) { /* snea höger till vänster*/
System.out.println("Player O has won");
gameEnd();
}