Я выполняю задание в универе, основанное на игре гомоку.
Как часть процесса, я инициализирую игровую доску, затем инициализирую игру, это структуры, определенные в заголовочных файлах, и мы должны использовать определенные вызовы и не использовать глобальные переменные (или терять метки), но я немного запутался в процессе:
Заголовочный файл:
struct game
{
struct player players[NUM_PLAYERS];
board gameboard;
struct player* current, *other;
};
enum input_result init_game(struct game*);
void play_game(void);
файл заголовка доски
enum cell
{
C_EMPTY,
etc...
};
typedef enum cell board[BOARDHEIGHT][BOARDWIDTH];
void init_board(board);
в основном
Я создал доску (2d массив) с именем bd, прекрасно ее инициализировал, а затем добавил значения в каждую ячейку в отдельном файле c
в файле game.c
Я инициализировал структуру игры и вызвал функцию,
прохождение адреса игровой структуры
struct game curgame;
init_game(&curgame);
У меня проблема с передачей доски в структуру:
enum input_results init_game(struct game* newgame)
{
newgame.board = bd;
}
Это неверно, и я получаю сообщение об ошибке:
newgame не объявлено (первое использование в этой функции)
bd не объявлен (первое использование в этой функции)
Может ли кто-нибудь объяснить мне, как будто мне пять лет, как передать значения в функцию, чтобы я мог добавить их в структуру, не редактируя вызов функции?
любая помощь будет оценена