간단한 오목
15152 단어 오목
1 import java.util.Scanner;
2
3 //
4 public class wuziqi {
5
6 //
7 private static char[][] board=new char[16][16];
8 //
9 private static int cnt;
10 // 1,2
11 private static char[] qizi={'#','@'};
12 //
13 private static int[] dx={-1,0,-1,-1,1,1,0,1};
14 private static int[] dy={0,-1,-1,1,-1,1,1,0};
15
16 //
17 private static int CheckInput(int x,int y){
18
19 if(board[x][y]!='+')
20 return 0;
21 if(x<1||x>15||y<1||y>15)
22 return 0;
23 return 1;
24 }
25
26 //
27 private static int Check(int x,int y){
28 if(x>15||x<1||y>15||y<1)
29 return 0;
30 return 1;
31 }
32 // , ,
33 private static int CheckAns(int num,int x,int y){
34 if(cnt==15*15)
35 return 1;
36 //
37 for(int i=0;i<4;i++){
38 int sum=1;
39 int xx=x+dx[i];
40 int yy=y+dy[i];
41 while(board[xx][yy]==qizi[num]&&Check(xx,yy)==1){
42 sum++;
43 xx=xx+dx[i];
44 yy=yy+dy[i];
45 }
46 xx=x+dx[7-i];
47 yy=y+dy[7-i];
48 while(board[xx][yy]==qizi[num]&&Check(xx,yy)==1){
49 sum++;
50 xx=xx+dx[7-i];
51 yy=yy+dy[7-i];
52 }
53 if(sum>=5)
54 return 1;
55 }
56 return 0;
57 }
58
59 //
60 private static void Init(){
61 cnt=0;
62 for(int i=1;i<=15;i++)
63 for(int j=1;j<=15;j++)
64 board[i][j]='+';
65 }
66
67 //
68 private static void Print(){
69 int i,j;
70 for(i=1;i<=15;i++){
71 for(j=1;j<=15;j++){
72
73 System.out.print(board[i][j]);
74 }
75 System.out.println();
76 }
77 }
78
79 public static int run(){
80
81 int x,y;
82 Init();
83 // , 0
84 int num=0;
85 while(true){
86 Print();
87 System.out.print(num+1+" , x y : ");
88 Scanner sc =new Scanner(System.in);
89 while(true){
90 x=sc.nextInt();
91 y=sc.nextInt();
92 if(CheckInput(x,y)==1)
93 break;
94 System.out.print(" , : ");
95 }
96 board[x][y]=qizi[num];
97 if(CheckAns(num,x,y)==1){
98 return num+1;
99 }
100 num=1-num;
101 }
102 }
103
104 public static void main(String[] args){
105
106 System.out.println(" lkl !");
107 int ans=run();
108 System.out.println(" "+ans+" ");
109 }
110 }
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
오목 AI 알고리즘 6 편 - 반복 심화교체 심화 란 2 층 부터 승리 의 방법 을 찾 거나 깊이 제한 에 도달 할 때 까지 검색 깊이 를 점차 늘 리 는 것 이다.예 를 들 어 우리 가 6 층 깊이 를 검색 하면 우 리 는 먼저 2 층 을 시도 하고 이...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.