Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 카카오프로젝트 100
- 보안뉴스한줄요약
- 카카오프로젝트
- 보안뉴스 한줄요약
- numpy
- 자바스크립트 jQuery
- 카카오프로젝트100
- 자바스크립트
- 자바스크립트 element api
- javascript
- python
- 자바스크립트 API
- 오라클
- 보안뉴스 요약
- 자바스크립트 prototype
- 보안뉴스
- 보안뉴스요약
- php
- ES6
- 깃허브
- 파이썬
- oracle db
- 랜섬웨어
- 자바스크립트 기본 문법
- 자바스크립트 객체
- GIT
- Oracle SQL
- 자바스크립트 node
- oracle
- 다크웹
Archives
- Today
- Total
FU11M00N
[ C++ ] 틱택토(Tic-Tca-Toe) 게임 본문
Tic-Tca-Toe게임은 2명의 경기자가 오른쪽과 같은 보드를 이용하여서 번갈아가며 0과 X를 놓는 게임입니다.
같은 글자가 가로, 세로 , 혹은 대각선 상에 놓이면 이기게 됩니다.
void print_array() 함수는 게임의 board를 출력해줍니다.
boll win() 함수는 가로,세로,대각으로 놓여있는 플레이어가 있는지 검사하고 있다면 true를 반환해 게임을 종료시킵니다.
사용자는 x,y 좌표를 입력하여 각각 'O'와 'X'를 놓아 게임을 진행합니다.
사용자 1,2를 판단하기 위해 ping_pong 변수를 선언하여 말을 놓을 때마다 ping_pong 변수에 0 혹은 1을 번갈아 넣어줘서 플레이어를 구분합니다.
만약 게임이 승부가나지않는다면 무승부를 출력합니다.
#include <iostream>
using namespace std;
char x[3][3]={{' ',' ',' '},{' ',' ',' '},{' ',' ',' '}};
void print_array(){
for(int i=0; i<3; i++){
for(int j=0; j<3; j++){
cout << "|" << x[i][j] ;
}
cout << endl;
}
}
bool win() {
for (int i = 0; i < 3; i++) {
if (x[i][0] != ' ' &&
x[i][0] == x[i][1] &&
x[i][1] == x[i][2]) {
return true;
}
}
for (int i = 0; i < 3; i++) {
if (x[0][i] != ' ' &&
x[0][i] == x[1][i] &&
x[1][i] == x[2][i]) {
return true;
}
}
if (x[0][0] != ' ' &&
x[0][0] == x[1][1] && x[1][1] == x[2][2]) {
return true;
}
if (x[0][2] != ' ' &&
x[0][2] == x[1][1] && x[1][1] == x[2][0]) {
return true;
}
return false;
}
int main(){
int location_x;
int location_y;
int ping_pong;
print_array();
for(int i=0; i<9; i++){
cout << "x 좌표 입력: "<<endl;
cin >> location_x;
cout << "y 좌표 입력: "<<endl;
cin >> location_y;
if(ping_pong==0){
x[location_x][location_y]='O';
ping_pong=1;
print_array();
if(win()==true){
cout<< "O 가 이김"<<endl;
exit(1);
}
}
else{
x[location_x][location_y]='X';
ping_pong=0;
print_array();
if(win()==true){
cout<< "X 가 이김"<<endl;
exit(1);
}
}
}
cout<< "무승부입니다."<<endl;
return 0;
}
실행 결괏값은 세로줄이 이겼을때만 캡처했습니다.
'Programming > C++' 카테고리의 다른 글
[ C++ ] 프렌드함수 (0) | 2021.06.01 |
---|---|
[ C++ ] 함수중복 (0) | 2021.06.01 |
[ C++ ] 임의의 문자 알아맞추기 게임 (행맨) (0) | 2021.04.13 |
[ C++ ] C++ 으로 구현한 은행프로그램 (feat. 동적할당) (0) | 2021.03.30 |
[ C++ ] 재밌는 티비 놀이 (0) | 2021.03.30 |
Comments