일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
Tags
- ios7 베타
- 아이폰5
- ios7 beta3 버그
- ios7 beta4
- iphone5
- ios7 gm
- WWDC
- 블로그
- ios8
- 컴퓨터
- 아이폰
- 티스토리
- ios7 beta
- ios7 beta3
- 애플
- ios9
- ios8 beta
- 아이폰 IOS7
- ios 7 beta 5
- 티스토리 초대장
- beta5
- ios7 골드마스터
- TISTORY
- ios7 배포
- iphone
- ios
- 베타5
- iOS7
- computer
- iOS7 beta2
Archives
- Today
- Total
wookss blog
Tic Tac Toe 게임소스 본문
반응형
#include <stdio.h>
#include <stdlib.h>
char matrix[3][3]; // 전역변수 2차원 배열 선언
char check(void); // 전역변수
void init_matrix(void); // *********************
void get_player_move(void); // * ㅍ ㄹ ㅌ 타 이 *
void get_computer_move(void); // * ㅡ ㅗ ㅗ ㅂ *
void disp_matrix(void); // *********************
void main()
{
char done; // 문자 done 선언
printf("이것은 Tic Tac Toe 게임입니다.\n"); // 게임설명 출력 부분
printf("당신은 컴퓨터와 상대할 것입니다.\n\n"); // 게임설명 출력 부분
done = ' '; // done 에 공백 삽입
init_matrix(); // init_matrix 함수 호출
do
{
disp_matrix(); // disp_matrix 함수 호출
get_player_move(); // get_player_move 함수 호출
done = check(); // done에 check 대입
if(done !=' ') // done이 공백이 아니면 실행
break;
get_computer_move(); // get_computer_move 함수 호출
done=check(); // done에 check 대입
}
while(done == ' '); // done이 공백이면 반복
if(done=='O') // done이 0일 경우 승리
printf("You Win!\n");
else // 그외엔 컴퓨터 승리
printf("I win!!!!\n");
disp_matrix(); // disp_matrix 함수 호출
}
void init_matrix(void)
{
int i,j;
for(i=0; i<3; i++)
for(j=0; j<3;j++)
matrix[i][j]=' ';
}
void disp_matrix(void)
{
int t;
for(t=0;t<3;t++)
{
printf(" %c | %c | %c ", matrix[t][0],matrix[t][1],matrix[t][2]);
if (t != 2)
printf("\n---|---|---\n");
}
printf("\n");
}
void get_player_move(void)
{
int x,y;
printf("당신의 좌표를 입력하시오 X,Y : ");
scanf("%d,%d",&x,&y);
x--;
y--;
if(matrix[x][y] != ' ')
{
printf("잘못이동하셨읍니다\n");
get_player_move();
}
else
matrix[x][y] = 'O';
}
void get_computer_move(void)
{
int i,j;
for(i=0; i<3; i++)
{
for(j=0; j<3; j++)
if (matrix[i][j]==' ')
break;
if(matrix[i][j]==' ')
break;
}
if(i*j==9)
{
printf("draw\n");
exit(0);
}
else
matrix[i][j]='X';
}
char check(void)
{
int i;
for(i=0;i<3;i++)
if(matrix[i][0]==matrix[i][1] && matrix[i][0]==matrix[i][2])
return matrix[i][0];
for(i=0;i<3;i++)
if(matrix[0][i]==matrix[1][i] && matrix[0][i]==matrix[2][i])
return matrix[0][i];
if(matrix[0][0]==matrix[1][1] && matrix[1][1]==matrix[2][2])
return matrix[0][0];
if(matrix[0][2]==matrix[1][1] && matrix[1][1]==matrix[2][0])
return matrix[0][2];
return ' ';
}
반응형
'Study > C/C++' 카테고리의 다른 글
C언어 문법 요약 (1) | 2013.05.21 |
---|---|
lotto 소스 (0) | 2013.05.15 |
C++ for문 이용하여 다이아몬드 출력 (1) | 2013.05.14 |