游戏操作如图示:
原理:
主要借助3x3的二维数组
实现:
1、Main–主程序
public class Main {
public static void main(String[] args) {
Player player=new Player();//玩家
Game game=new Game(player);
//一次循环代表一次游戏
while (true){
game.Init();//初始化
game.play();//开始游戏
game.destory();//释放
boolean q=player.queryContinue();
//一局游戏结束后,询问用户是否开始下一局游戏
if (!q){
System.out.println("欢迎下次继续游戏!");
break;
}
}
}
}
2、AI–电脑
import java.util.Random;
//返回AI对象的落子位置
//用数组表示 第几行第几列 从0开始
//所以有效范围是[0,2]
public class AI {
private final Random random=new Random();
public int[] getPosition(){
int r=random.nextInt(3);//生成[0,2]的随机整数 0 1 2
int c=random.nextInt(3);
return new int[]{
r,c};
}
}
3、Player–玩家
import java.util.Scanner;
//返回玩家落子位置
//用数组表示 第几行第几列 从0开始
//所以有效范围是[0,2]
public class Player {
private final Scanner sc=new Scanner(System.in);
public int[] getPosition(){
System.out.println("请输入要落子的位置,行列有效取值范围为[0,2]");
System.out.print(">>>");
int r,c;
while (true){
System.out.print(">>>");
r=sc.nextInt();
c=sc.nextInt();
if (r>=0&&r<=2&&c>=0&&c<=2){
break;
}
System.out.println("行列有效范围为[0,2],请重新输入");
}
return new