游戏:井字游戏(java)

能够实时输出,不允许重复落子,有判断机制,使用坐标下棋。

 1 package 井字游戏;
 2 import java.util.*;
 3 
 4 public class mine {
 5     public static void main(String[] args) {
 6         char[][] array = {{' ',' ',' '},{' ',' ',' '},{' ',' ',' '}};
 7         Scanner input = new Scanner(System.in);
 8         int x,y;
 9         output(array);
10         for(int i=0;i<9;i++) {
11             System.out.print("请输入棋子的坐标x和y:");
12             do {
13             x=input.nextInt();
14             y=input.nextInt();
15             }while(x<1||x>3||y<1||y>3);
16             x--;y--;
17             if(array[x][y]!=' ') {
18                 System.out.println("已经有棋子了,请重新选择!!");
19                 do {
20                     x=input.nextInt();
21                     y=input.nextInt();
22                 }while(x<1||x>3||y<1||y>3);
23                 x--;y--;
24             }
25             if(i%2==0)
26                 array[x][y]='x';
27             else
28                 array[x][y]='o';
29             output(array);
30             switch(judge(array)) {
31             case 1:System.out.println("“x”棋子选手已经获胜!");i=9;break;
32             case 2:System.out.println("“o”棋子选手已经获胜!");i=9;break;
33             }
34             if(i!=9) {
35                 if(i%2==0)
36                     System.out.print("下一步是“o”棋子:");
37                 else
38                     System.out.print("下一步是“x”棋子:");
39             }
40         }
41     }
42     static void output(char[][] array) {
43         System.out.println("-------------");
44         System.out.printf("| %c | %c | %c |\n", array[0][0],array[0][1],array[0][2]);
45         System.out.println("-------------");
46         System.out.printf("| %c | %c | %c |\n", array[1][0],array[1][1],array[1][2]);
47         System.out.println("-------------");
48         System.out.printf("| %c | %c | %c |\n", array[2][0],array[2][1],array[2][2]);
49         System.out.println("-------------");
50     }
51     static int judge(char[][] array) {
52         for(int i=0;i<3;i++) {
53             if(array[i][0]==array[i][1]&&array[i][1]==array[i][2]&&array[i][2]=='x')
54                 return 1;
55             if(array[0][i]==array[1][i]&&array[1][i]==array[2][i]&&array[2][i]=='x')
56                 return 1;
57         }
58         if(array[0][0]==array[1][1]&&array[1][1]==array[2][2]&&array[2][2]=='x')
59             return 1;
60         if(array[0][2]==array[1][1]&&array[1][1]==array[2][0]&&array[2][0]=='x')
61             return 1;
62         for(int i=0;i<3;i++) {
63             if(array[i][0]==array[i][1]&&array[i][1]==array[i][2]&&array[i][2]=='o')
64                 return 2;
65             if(array[0][i]==array[1][i]&&array[1][i]==array[2][i]&&array[2][i]=='o')
66                 return 2;
67         }
68         if(array[0][0]==array[1][1]&&array[1][1]==array[2][2]&&array[2][2]=='o')
69             return 2;
70         if(array[0][2]==array[1][1]&&array[1][1]==array[2][0]&&array[2][0]=='o')
71             return 2;
72         return 0;
73     }
74 
75 }

猜你喜欢

转载自www.cnblogs.com/ncoheart/p/8981286.html
今日推荐