전 (사용자 도움 덕분에) 이후로 코드를 완성했습니다.C : Tic Tac Toe 프로그램을 완료했습니다. 개선 할 수있는 팁을 찾고 있습니다.
-5
A
답변
0
코드가 완전한 게임으로되어 있다고 확신하지는 않지만 코드가 컴파일되고 시작되도록 반환 값을 변경할 수 있습니다.
#include <stdio.h>
#include <stdlib.h>
char **display_board(char **board) { //Create board function
const char NUM_COLS = 3;
const char NUM_ROWS = 3;
const char BLANK_SPACE = '*';
int i, j, k, l;
board = (char **) malloc(NUM_ROWS * sizeof(char *));
for (i = 0; i < NUM_ROWS; i++) {
board[i] = (char *) malloc(NUM_COLS * sizeof(char));
for (j = 0; j < NUM_COLS; j++) {
board[i][j] = BLANK_SPACE;
}
//Display board function
}
for (k = 0; k < NUM_ROWS; k++) {
for (l = 0; l < NUM_ROWS; l++) {
printf("%c", board[k][l]);
}
printf("\n");
}
return board;
}
int main() {
char **board;
int row, col;
const char BLANK_SPACE = '*';
int turn, i;
turn = 0;
display_board(board);
//need while !game_not_over conditional statement
for (i = 0; i < 20; i++) {
turn + 1;
}
if (turn % 2 == 0) {
printf("O's turn\n");
printf("Make your move");
scanf("%d, %d", &row, &col);
if ((row == 0 && col == 0) && (board[0][0] == BLANK_SPACE)) {
display_board(board);
board[0][0] = '0';
}
return 0;
}
}
Debug/gnu
***
***
***
O's turn
Make your move***
+0
'display_board (board);'->'board = display_board (board);'또한 메모리 누수가 발생합니다. 그래서'create_board'와'display_board'로 나눕니다. – BLUEPIXY
+0
프로그램이 완전히 100 % 완료되지는 않았지만,이 특정 문제는 잠시 동안 막혔습니다. 아, 메모리 누출 문제가 너무 의미가 있습니다! 내 프로그램이 계속 충돌하는 것은 당연하지 만 문제는 보이지 않았습니다. 다음으로 보드를 만들고 표시하는 작업을 나누도록하겠습니다. 유용한 팁을 가져 주셔서 감사합니다. – rawrggh
특별히 아무것도 반환하지 않는 함수 호출에 값을 할당하려고 도움이 필요 코드 (적어도 그 서명에 따라) 테스트. –
보드 [0] [0] = 'O'; 전광판(); display_board() 함수는 "포인터 char ** 보드를 반환하지 않습니다"; 대신 "char ** 보드를 매개 변수로 사용합니다". – jarmod
감사합니다. 나는 그 이상을 읽어야 할 것이다. – rawrggh