๋ฐ์ํ
package E4_๋ฐฐ์ด4_ํ๊ฐ๋ฌธ์ ;
import java.util.Arrays;
import java.util.Scanner;
import java.util.Random;
public class ๋ฐฐ์ด4_ํ๋ก์ ํธ_ํฑํํ {
/*
* [ํฑํํ ]
*
* ์กฐ๊ฑด1) ๊ตฌ๊ธ ํฌ๋กฌ์ "ํฑํํ " ๊ฒ์ํ ๊ฒ์์ ํ๋ฒํ๊ณ
* ์๋์๊ฐ์ด ๋ง๋ค์ด๋ณด๊ธฐ.
* ์กฐ๊ฑด2) P1 , P2 ๋ฅผ ํ๋ ์ด์ด๊ฐ ๋ฒ๊ฐ์๊ฐ๋ฉด์ ํ๋ ์ด.
* ์กฐ๊ฑด3) ๋จผ์ ํ์ค์ ์์ฑํ๋ฉด ์น๋ฆฌ
* [์ถ์ฒ์กฐ๊ฑด] P2 ๋ com์ผ๋ก ๋์ฒดํด๋ณด์.(com์ ๋๋ค์ผ๋ก ํ๋ ์ด)
*
*=============
* [์ฒ์ํ๋ฉด]
* 0,0,0
* 0,0,0
* 0,0,0
* [p1]์ธ๋ฑ์ค ์
๋ ฅ : 6
* =============
* [1ํด]
* 0,0,0
* 0,0,0
* 1,0,0
* [p2]์ธ๋ฑ์ค ์
๋ ฅ : 1
* =============
* [2ํด]
* 0,2,0
* 0,0,0
* 1,0,0
* [p1]์ธ๋ฑ์ค ์
๋ ฅ : 3
* =============
* [3ํด]
* 0,2,0
* 1,0,0
* 1,0,0
* [p2]์ธ๋ฑ์ค ์
๋ ฅ : 2
* =============
* [4ํด]
* 0,2,2
* 1,0,0
* 1,0,0
* [p1]์ธ๋ฑ์ค ์
๋ ฅ : 0
* =============
* [5ํด]
* 1,2,2
* 1,0,0
* 1,0,0
* [p1] ์น๋ฆฌ
* ๋๊ฐ์ 0,4,8 / ์ค๋ฅธ์ชฝ ๋๊ฐ์ 2,4,6
*/
static boolean check(int tic[],int p) {
int x=0,y=0,l=0,r=0,cnt=0;
for(int i=0,j=0; i<tic.length; i++) {
if(tic[i]==p) { //๊ฐ๋ก ์ฒดํฌ
x++;
}
if(tic[j+cnt]==p) { //์ธ๋ก ์ฒดํฌ
j+=3; y++;
}
if(x==3 || y==3 || l==3 || r==3) {
return true;
}
if(i%3==2) {
if(tic[cnt*3+cnt]==p) l++; //์ผ์ชฝ๋๊ฐ์ 0,4,8 ์ฒดํฌ
x=0;y=0;j=0;cnt++;
if(tic[cnt*3-cnt]==p) r++; //์ค๋ฅธ์ชฝ๋๊ฐ์ 2,4,6 ์ฒดํฌ
}
}
return false;
}
public static void main(String[] args) {
Scanner scan=new Scanner(System.in);
Random ran=new Random();
int tic[]=new int[9];
int turn=0,p=-1,index=0;
while(true) {
System.out.printf("[%dํด]\n",turn);
for(int i=0; i<tic.length; i++) {
System.out.printf("|%d|",tic[i]);
if(i%3==2) {
System.out.println();
}
}
if(check(tic,p)==true) {
System.out.println(p+"๋ ์น๋ฆฌ!");break;
}
if(turn==tic.length) {
System.out.println("[๋ฌด์น๋ถ]"); break;
}
p=turn%2+1;
System.out.printf("[p%d] ์ธ๋ฑ์ค์
๋ ฅ:",p);
if(p==1) {
index= scan.nextInt();
if(index<0 || index>=tic.length || tic[index]!=0) {
System.out.println("๋ค์์
๋ ฅํ์ธ์."); continue;
}tic[index] = p;
}else {
while(true) {
index = ran.nextInt(tic.length);
if(tic[index]==0) {
break;
}
}tic[index] = p;
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}System.out.println(index); turn++;
}
}
}
300x250
'Algorithm > Etc' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Java] ํฐ์ ์ธ ์ฌ์ด์ฆ๋ณ๋ก ๊ฐ์์ธ๊ธฐ - COS2๊ธ (0) | 2022.04.01 |
---|---|
[Java] 10 ์ง์๋ฅผ x ์ง์๋ก ๋ณํํ๊ธฐ (0) | 2022.03.10 |
2์ฐจ์ ๋ฐฐ์ด ์ธํ๋ฝ๊ธฐ (0) | 2022.02.03 |
๋ฐฐ์ด ๊ฐ์ด๋ฐ ์๋ฆฌ ์์ ํฉ (0) | 2022.01.27 |
์๋ฐ ๋ฐฐ์ด ๋ฌด๊ถํ๊ฝ ๋ฌธ์ (0) | 2022.01.21 |