티스토리 뷰
package javaapplication1;
import java.io.*;
public class JavaApplication1 {
public static void main(String[] args ) throws IOException{
BufferedReader in=new BufferedReader(new InputStreamReader(System.in));
int omok[][]=new int[8][8];
int x,y,px,py,result=0,cnt;
/*--------------------오목배열 초기화-------------*/
for(py=0; py<8; py++)
for(px=0; px<8; px++)
omok[py][px]=0;
System.out.println("오목프로그램 시작.(초기화완료)");
/*-----------------게임시작-----------------------------------------------*/
while(true)
{
System.out.printf("오목판에 오목을 놓거라!\n");
System.out.print("X축입력:");
x=Integer.parseInt(in.readLine());
System.out.print("Y축입력:");
y=Integer.parseInt(in.readLine());
if(x>7||y>7||omok[y][x]==1)
{
System.out.printf("다시입력해!\n");
continue; //입력이 틀릴시 while문으로 다시올라감.
}
omok[y][x]=1;
/*----------------출력부분-----------------*/
for(py=0; py<8; py++){
for(px=0; px<8; px++)
System.out.printf("%d ",omok[py][px]);
System.out.printf("\n");
}
/*----------------검사시작------------------*/
/*-----------------x축검사식-------------------*/
for(px=0,cnt=0; px<7; px++)
{
if(omok[y][px]==1&&omok[y][px]==omok[y][px+1])
cnt++;
if(cnt>=4)
result=1;
}
/*----------------y축검사식------------------*/
for(py=0 ,cnt=0; py<7; py++)
{
if(omok[py][x]==1&&omok[py][x]==omok[py+1][x])
cnt++;
if(cnt>=4)
result=1;
}
/*----------------대각선축검사------------------*/
if(x>y)//x축이 더 클때의 상황 처리식.
for(px=x-y,py=0,cnt=0; px<7; py++,px++){
if(omok[py][px]==1&&omok[py][px]==omok[py+1][px+1])
cnt++;
if(cnt>=4)
result=1;
}
else//y축이 더 클때의 상황과 가운데 대각선 까지 처리식.
for(px=0,py=y-x,cnt=0; py<7; py++,px++){
if(omok[py][px]==1&&omok[py][px]==omok[py+1][px+1])
cnt++;
if(cnt>=4)
result=1;
}
/*----------------역대각선축검사------------------*/
if(x+y>7)//x+y가 7보다 더 클때의 역대각선검사 처리식.
for(px=x+y-7,py=7,cnt=0; px<7; py--,px++)
if(omok[py][px]==1&&omok[py][px]==omok[py-1][px+1])
cnt++;
if(cnt>=4)
result=1;
else if(x+y<=7)//x+y가 7보다 작거나 같을때의 역대각선검사 처리식.
for(py=x+y,px=0,cnt=0; py>0; py--,px++)
if(omok[py][px]==1&&omok[py][px]==omok[py-1][px+1])
cnt++;
if(cnt>=4)
result=1;
/*--------------------------------result판단-------------*/
if(result==1){
System.out.printf("게임종료.\n게임에서 이겻습니다.\n");
break;
}
/*----------------검사종료------------------*/
}
/*-----------------게임종료 -----------------------------------------------*/
}
}
'IT Skills > Programming' 카테고리의 다른 글
C#-수강신청 (0) | 2013.04.10 |
---|---|
Linux vi편집기 사용법(한글깨짐오류처리방법포함)&&telnet 기본적인 사용법 (0) | 2013.04.02 |
JAVA - 오목 만들어보기 1 (0) | 2013.04.01 |
C#-2 (0) | 2013.03.25 |
java (0) | 2013.03.25 |
- Total
- Today
- Yesterday
- 카카오프렌즈
- 일본
- 이어폰
- 고양이
- ps4
- 아이폰X
- AMD
- Windows 10
- 노트북
- 플스2
- razer
- 구글
- 일본여행
- m5a97
- Asus
- javascript
- 프라모델
- 마우스
- 피규어
- 프로그래밍
- PS2
- 건담
- 듀얼쇼크4
- 라이언
- 보스
- 디지몬
- 디지바이스
- 애드센스
- 윈도우즈 10
- 안산
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |