ゲームChompを作成しようとしています。私は途中ですが、かなり立ち往生しています。
ゲームには5つの異なる機能があります。ポインターと構造体は使用できません。
a) initialize()マトリックス内のすべての位置を「O」に初期化します。パラメータも戻り値もありません。
b) print_board()マトリックスを印刷します。パラメータも戻り値もありません。
c) get_move()プレーヤー (行と列) から移動をスキャンし、配列でそれを「返します」。パラメータ: 誰のターンであるか (プレーヤー 1 またはプレーヤー 2) に関する情報、および移動座標が格納される 2 つの要素を含む配列。戻り値なし。
d) check_move()移動が有効かどうかを制御します (マトリックスの外ではなく、既に食べられた位置でもない)。パラメータ: チェックされる移動 (行と列)。戻り値: コントロールの結果。<------ ???????
e) update_board()マトリックスを更新します。パラメータ: 新しい移動 (行と列)。戻り値なし。
これは私がどこまで来たかであり、check_move()関数で立ち往生しています。その関数から何を返すのかわかりません。
#include <stdio.h>
int height = 4;
int width = 10;
char matrix[4][10];
void initialize()
{
for(int row = 0; row < height; row++)
for(int col = 0; col < width; col++)
matrix[row][col] = 'O';
}
void print_board()
{
for(int row = 0; row < height; row++)
{
for(int col = 0; col < width; col++)
{
printf("%c", matrix[row][col]);
}
printf("\n");
}
printf("\n");
}
void get_move(int player, int input[])
{
printf("Player %d, make your move: ", player);
scanf("%d %d", &input[0], &input[1]);
}
int check_move(int position[])
{
int row = position[0];
int col = position[1];
if(row <= height && col <= width)
{
for(row; row <= height; row++)
{
for(col; col <= width; col++)
{
if(matrix[row][col] == ' ');
printf("Invalid move! \n");
}
}
}
}
void update_board(int x, int y)
{
for(int xi = x; xi <= 10; ++xi)
{
for(int yi = y; yi <= 10; ++yi)
matrix[xi-1][yi-1] = ' ';
}
}
int main(void)
{
int player = 1;
int position[2];
initialize();
print_board();
get_move(player, position);
check_move(position);
update_board(position[0], position[1]);
print_board();
getchar();
getchar();
getchar();
return 0;
}