所以我试图在测试后让它循环,但它不起作用。
package one;
import java.util.Scanner;
public class ace {
public static void main(String[] args){
//initiate game loop
String gameReset = "y";
String a1, b1, c1, a2, b2, c2, a3, b3, c3, a4, b4, c4, a5, b5, c5, a6, b6, c6, a7, b7, c7, a8, b8, c8, a9, b9, c9;
String player1;
String player2;
String spaceMark;
int turn;
Scanner input = new Scanner( System.in );
//1. initiate game/test for reset
if(gameReset == "y")
{
//set turn for player 1
turn = 1;
//stop reset loop
gameReset = "";
//query player names
System.out.print("Welcome to Cnila's 'Tic Tac Toe' game!\n\nEnter Player 1 Name: \nC:\\Users>");
player1 = input.nextLine();
System.out.print("Enter Player 2 Name: \nC:\\Users>");
player2 = input.nextLine();
a1 = " "; a2 = " "; a3 = " "; a4 = " "; a5 = " "; a6 = " "; a7 = " "; a8 = " "; a9 = " ";
b1 = " [1] "; b2 = " [2] "; b3 = " [3] "; b4 = " [4] "; b5 = " [5] "; b6 = " [6] "; b7 = " [7] "; b8 = " [8] "; b9 = " [9] ";
c1 = " "; c2 = " "; c3 = " "; c4 = " "; c5 = " "; c6 = " "; c7 = " "; c8 = " "; c9 = " ";
//1.1 check for winning combos player 1
if (b3 == b5 && b5 == b7 && b5 == " X " || b1 == b5 && b5 == b9 && b5 == " X " || b1 == b2 && b2 == b3 && b3 == " X " || b4 == b5 && b5 == b6 && b5 == " X " || b7 == b8 && b8 == b9 && b8 == " X " || b1 == b4 && b4 == b7 && b4 == " X " || b2 == b5 && b5 == b8 && b5 == " X " || b3 == b6 && b6 == b9 && b6 == " X ")
{
//player 1 has won
System.out.println(a1+"|"+a2+"|"+a3);
System.out.println(b1+"|"+b2+"|"+b3);
System.out.println(c1+"|"+c2+"|"+c3);
System.out.println("-----------------");
System.out.println(a4+"|"+a5+"|"+a6);
System.out.println(b4+"|"+b5+"|"+b6);
System.out.println(c4+"|"+c5+"|"+c6);
System.out.println("-----------------");
System.out.println(a7+"|"+a8+"|"+a9);
System.out.println(b7+"|"+b8+"|"+b9);
System.out.println(c7+"|"+c8+"|"+c9);
System.out.println();
System.out.print(player1+" wins! Would you like to play again? (y/n): \nC:\\Users>");
gameReset = input.nextLine();
}
//1.1 player 1 has not won. check player 2 for winning combos
else
{
//1.1.1 player 2 has won
if (b3 == b5 && b5 == b7 && b5 == "< >" || b1 == b5 && b5 == b9 && b5 == "< >" || b1 == b2 && b2 == b3 && b3 == "< >" || b4 == b5 && b5 == b6 && b5 == "< >" || b7 == b8 && b8 == b9 && b8 == "< >" || b1 == b4 && b4 == b7 && b4 == "< >" || b2 == b5 && b5 == b8 && b5 == "< >" || b3 == b6 && b6 == b9 && b6 == "< >")
{
System.out.println(a1+"|"+a2+"|"+a3);
System.out.println(b1+"|"+b2+"|"+b3);
System.out.println(c1+"|"+c2+"|"+c3);
System.out.println("-----------------");
System.out.println(a4+"|"+a5+"|"+a6);
System.out.println(b4+"|"+b5+"|"+b6);
System.out.println(c4+"|"+c5+"|"+c6);
System.out.println("-----------------");
System.out.println(a7+"|"+a8+"|"+a9);
System.out.println(b7+"|"+b8+"|"+b9);
System.out.println(c7+"|"+c8+"|"+c9);
System.out.println();
System.out.print(player2+" wins! Would you like to play again? (y/n): \nC:\\Users>");
gameReset = input.nextLine();
}
//1.1.1 neither have won. start next player turn
else
{
//1.1.1.1 test player turn
if (turn == 1)
{
System.out.println(a1+"|"+a2+"|"+a3);
System.out.println(b1+"|"+b2+"|"+b3);
System.out.println(c1+"|"+c2+"|"+c3);
System.out.println("-----------------");
System.out.println(a4+"|"+a5+"|"+a6);
System.out.println(b4+"|"+b5+"|"+b6);
System.out.println(c4+"|"+c5+"|"+c6);
System.out.println("-----------------");
System.out.println(a7+"|"+a8+"|"+a9);
System.out.println(b7+"|"+b8+"|"+b9);
System.out.println(c7+"|"+c8+"|"+c9);
System.out.println();
System.out.print("Which space would you like to mark, "+player1+"?: ");
spaceMark = input.nextLine();
//1.1.1.1.1 test for proper player 1 turn input
if (spaceMark == "1" || spaceMark == "2" || spaceMark == "3" || spaceMark == "4" || spaceMark == "5" || spaceMark == "6" || spaceMark == "7" || spaceMark == "8" || spaceMark == "9")
{
//1.1.1.1.1.1 player input proper. execute turn
switch (spaceMark)
{
case "1":
a1 = " \n / ";
b1 = " X ";
c1 = " / \n ";
break;
case "2":
a2 = " \n / ";
b2 = " X ";
c2 = " / \n ";
break;
case "3":
a3 = " \n / ";
b3 = " X ";
c3 = " / \n ";
break;
case "4":
a4 = " \n / ";
b4 = " X ";
c4 = " / \n ";
break;
case "5":
a5 = " \n / ";
b5 = " X ";
c5 = " / \n ";
break;
case "6":
a6 = " \n / ";
b6 = " X ";
c6 = " / \n ";
break;
case "7":
a7 = " \n / ";
b7 = " X ";
c7 = " / \n ";
break;
case "8":
a8 = " \n / ";
b8 = " X ";
c8 = " / \n ";
break;
case "9":
a9 = " \n / ";
b9 = " X ";
c9 = " / \n ";
break;
}
}
//1.1.1.1.1 player 1 input improper. repeat query
else
{
System.out.println("Try again!");
}
}
//1.1.1.1 not player 1 turn, initiate player 2 turn
else
{
System.out.println(a1+"|"+a2+"|"+a3);
System.out.println(b1+"|"+b2+"|"+b3);
System.out.println(c1+"|"+c2+"|"+c3);
System.out.println("-----------------");
System.out.println(a4+"|"+a5+"|"+a6);
System.out.println(b4+"|"+b5+"|"+b6);
System.out.println(c4+"|"+c5+"|"+c6);
System.out.println("-----------------");
System.out.println(a7+"|"+a8+"|"+a9);
System.out.println(b7+"|"+b8+"|"+b9);
System.out.println(c7+"|"+c8+"|"+c9);
System.out.println();
System.out.print("Which space would you like to mark, "+player2+"?: ");
spaceMark = input.nextLine();
//1.1.1.1.1 test player 2 for proper input
if (spaceMark == "1" || spaceMark == "2" || spaceMark == "3" || spaceMark == "4" || spaceMark == "5" || spaceMark == "6" || spaceMark == "7" || spaceMark == "8" || spaceMark == "9")
{
//1.1.1.1.1.1 player input proper. execute turn
switch (spaceMark)
{
case "1":
a1 = " ^ ";
b1 = "< >";
c1 = " v ";
break;
case "2":
a2 = " ^ ";
b2 = "< >";
c2 = " v ";
break;
case "3":
a3 = " ^ ";
b3 = "< >";
c3 = " v ";
break;
case "4":
a4 = " ^ ";
b4 = "< >";
c4 = " v ";
break;
case "5":
a5 = " ^ ";
b5 = "< >";
c5 = " v ";
break;
case "6":
a6 = " ^ ";
b6 = "< >";
c6 = " v ";
break;
case "7":
a7 = " ^ ";
b7 = "< >";
c7 = " v ";
break;
case "8":
a8 = " ^ ";
b8 = "< >";
c8 = " v ";
break;
case "9":
a9 = " ^ ";
b9 = "< >";
c9 = " v ";
break;
}
}
//1.1.1.1.1 player 2 input improper. repeat query
else
{
System.out.println("Try again!");
}
}
}
}
}
}
}
欢迎来到 Cnila 的“井字游戏”! 输入玩家 1 姓名: C:\用户>一个 输入玩家 2 名称: C:\用户>b | | [1] | [2] | [3] | | ----------------- | | [4] | [5] | [6] | | ----------------- | | [7] | [8] | [9] | | 你想标记哪个空格,a?:1
到达终点然后停止。我缺少一些部分,但基本上在转弯之后我希望它重置整个循环并if
再次遍历每个语句。我使用了正确的循环吗?我做错什么了吗?
我相信您可以看到我在程序中尝试做的事情......自从我使用 java 和互联网没有帮助已经有几年了。当我尝试插入 abreak
或 acontinue
时,文本会变成红色。
我什至尝试过这个循环,我希望当我输入“是”时它会返回无限的“是”,但它什么也没做。压缩。
包装文本游戏; 导入 java.util.Scanner; 公共类游戏根{ 公共静态无效主要(字符串[]参数){ 扫描仪输入 = 新扫描仪(System.in); 字符串测试 = input.nextLine(); for (;test == "是";) { System.out.println("是"); } } }
任何将不胜感激。我对 Java 有很多好的想法和抱负,但我正在扯掉我的头发,准备把它永远搁置一旁。