P1 부분에 초기화 되지 않은 메모리 사용중이라고 뜨네요.. 어떤 점이 잘못된건가요?
코드는 아직 다듬지 않았습니다.
#include<stdio.h>
int a, b = 0;
void fboard(char board[3][3])
{
int i = 0;
for (; i < 3; i++)
{
printf("+---+---+---+\n");
printf("| %c | %c | %c | \n",board[i][0], board[i][1], board[i][2]);
}
printf("+---+---+---+\n");
}
void clear_board(char board[3][3])
{
int a, b = 0;
for (a = 0; a < 3; a++) {
for (b = 0; b < 3; b++)
board[a][b] = ' ';
}
}
int play1(char board[3][3]);
int play2(char board[3][3]);
int check(char board[3][3]);
int count = 0;
int main()
{
char board[3][3] = { 0 };
char p;
int P1, P2, off = 0;
printf("플레이어를 선택하세요. P1 (O) or P2 (X)\n");
scanf("%s", &p);
if (p == 'P1')
{
P1 = 1;
P2 = 2;
}
else if(p == 'P2')
{
P1 = 2;
P2 = 1;
}
printf("게임 시작\n");
clear_board(board);
if (P1 % 2 == 1) {
do {
fboard(board);
play1(board);
check(board);
fboard(board);
play2(board);
check(board);
} while (off == 1);
}
else {
do {
fboard(board);
play2(board);
check(board);
fboard(board);
play1(board);
check(board);
} while (off == 1);
}
return 0;
}
int play1(char board[3][3])
{
int a, b, c = 0;
count++;
do {
printf("P1순서 - 좌표입력 ex) 0 1");
scanf("%d%d", &a, &b);
if (board[a][b] == ' ') {
board[a][b] = 'O';
c = 1;
}
else {
printf("다시 입력해 주세요.");
c = 0;
}
} while (c == 0);
return 0;
}
int play2(char board[3][3])
{
int a, b, c = 0;
count++;
do {
printf("P2순서 - 좌표입력 ex) 0 1");
scanf("%d%d", &a, &b);
if (board[a][b] == ' ') {
board[a][b] = 'X';
c = 1;
}
else {
printf("다시 입력해 주세요.");
c = 0;
}
} while (c == 0);
return 0;
}
int check(char board[3][3])
{
int i = 0;
if (count < 9) {
for (; i < 3; i++) { //가로측정
if (board[i][0] == board[i][1] && board[i][1] == board[i][2]) {
printf("승리!");
}
else if (board[0][i] == board[1][i] && board[1][i] == board[2][i]) {
printf("승리!");
}
else if (board[0][0] == board[1][1] && board[1][1] == board[2][2]) {
printf("승리!");
}
else if (board[0][2] == board[1][1] && board[1][1] == board[2][0]) {
printf("승리!");
}
}
}
else if (count == 9) {
printf("무승부 입니다.");
}
return 0;
}
님꺼보고 틱택토 ㅕ
경우의 수 프로그램 만들고 싶어졌음
char p 가 문제임
언제부터 char가 문자열을 담을 수 있었지 핫산?? ㅇㅅㅇ