2-D array 사용 : Tic-Tac-toe Game만들기
- 최초 등록일
- 2009.10.11
- 최종 저작일
- 2009.10
C언어
- 가격 3,000원
![할인쿠폰받기](/images/v4/document/ico_det_coupon.gif)
소개글
13x3 matrix의 2-D char array선언
2main함수 작성
a) space(‘ ‘)로array의 initialize를 위한 함수 호출
b) game을 위한 matrix를 다음과 같이 출력하는 함수 호출
c) p_badtags_move를 위한 함수 호출
d) game의 종료인지를 check하는 함수 호출
e) computer_move를 위한 함수 호출
f) game의 종료인지를 check하는 함수 호출
g) b ~ f까지를 game의 종료 시 까지 반복(d와 f에서 return되는 값을 check)
h) 종료하게 되면 누가 win인지를 출력하고 다시 game할 것 인지를 ask., Y 또는 y를 하게 되면 a)부터 반복
3array의 initialize를 위한 함수 작성
4game을 위한 matrix를 위해array의 내용을 출력하는 함수 작성( 위의 b)참조)
5p_badtags_move를 위한 함수 작성
a) 다음과 같이 user로부터 row와 column을 입력 받음 Enter the coordinate for your X and Y (ex. 2 3) : 1 2 /*1strow와 2ndcolumn */
b) 이미 mark가 되어 있다면 또는 잘못 입력하였다면 다시 시도하도록 함
c) 아니면 그 곳에 ‘X’를 입력
6computer_move를 위한 함수 작성
a) rand()함수를 사용하여 0~2사이의 수 2개를 생성, row와 col으로 함
b) 만일 이미 mark가 되어 있다면 다시 생성 시키도록 함
c) 아니면 그 곳에 ‘O’를 입력 즉 아래와 같이 출력되어야 함. 이 때 매 번 screen의 맨 위 즉 같은 장소에 나타 나도록 함.
(array를 display하기 전에 screen을 clear하면 됨. 명령은 system(“clear”); 사용 – visual c++에서는 system(“cls”)임)
7game의 종료인지를 check하는 함수 작성
a) 각 column이 row단위로 모두 같은 mark인지를 check, 같다면 그 mark를 return
b) 각 row가 col단위로 모두 같은 mark인지를 check, 같다면 그 mark를 return
c) Diagonally check
d) 모든 element가 mark되어 있지만 아무도 이기지 못한 경우 특정 char를 return
e) 그 어느 경우도 아니라면 space를 return
컴파일 실행환경
windows / visual studio에서 컴파일 및 실행
본문내용
/Tic-Tac-toe Game 만들기 */
# include <stdio.h>
# include <stdlib.h>
# include <time.h>
# define space ` ` //띄워쓰기를 space로 정의
char array[3][3]= {space, space, space, space, space, space, space, space, space};
void initialize(); //array의 초기화
void matrix_menu(); //game을 위한 matrix를 출력
void player_move(); //player의 좌표 선택
void computer_move(); //computer의 좌표 선택
int check_exit(); //game의 종료인지를 체크
참고 자료
없음