用c語言第一次完成三子棋遊戲,感觸特別深刻。
在寫**中我明白了,思路還有**風格的重要性,在這次**中發現,我們整理好邏輯想法
對寫**就不會有太多問題了
**如下,若有改進的地方,還希望大家可以多多指點。
#include #include #include #include #define row 3
#define col 3
void initboard(char arr[row][col], int row, int col);
void displayboad(char arr[row][col], int row, int col);
void playmove(char arr[row][col], int row, int col);
void computermove(char arr[row][col], int row, int col);
char iswine(char arr[row][col], int row, int col);
#endif
#define _crt_secure_no_warnings 1
#include"game.h"
void menu()
void game()
; initboard(board, row, col);
displayboard(board, row, col);
while (1)
printf("輪到電腦下棋\n");
computermove(board, row, col);
displayboard(board, row, col);
ret = iswine(board, row, col);
if (ret != ' ')
}if (ret == 'x')
printf("玩家贏\n");
else if (ret == '0')
printf("電腦贏\n");
else
printf("平局\n");
}void test()
} while (input);
}int main()
#define _crt_secure_no_warnings 1
#include"game.h"
void initboard(char arr[row][col], int row, int col)//初始化 }}
void displayboard(char arr[row][col], int row, int col)//列印
printf("\n");
if (i < row - 1)
printf("\n");
} }}void playermove(char arr[row][col], int row, int col)//玩家玩
else
}else
printf("輸入座標不合理\n"); }}
void computermove(char arr[row][col], int row, int col) }}
int isfull(char arr[row][col], int row, int col)
return 1; }}
char iswine(char arr[row][col], int row, int col)
}for (j = 0; i < col; j++)
}if ((arr[0][0] == arr[1][1]) && (arr[1][1] == arr[2][2]) && (arr[1][1] != ' '))
if ((arr[0][2] == arr[1][1]) && (arr[1][1] == arr[2][0]) && (arr[1][1] != ' '))
if (isfull(arr, row, col))
return ' ';
}
驗證結果圖如下:
C語言三子棋遊戲
三子棋是一種只需要行 列 斜中任意一種情況三個相同棋子相連便勝利的遊戲。本程式中,要求玩家與電腦pk,棋盤座標用乙個二維陣列儲存起來,玩家通過鍵盤輸入座標落子,電腦通過srand和rand函式隨機產生座標落子。每次落子都需要判斷遊戲是否結束。1.遊戲選單,供使用者進入遊戲 2.建立初始化棋盤 3.列...
C語言 三子棋遊戲
今天,我們用c語言來寫乙個三子棋遊戲。在整個工程裡建立了三個檔案,分別為main.c game.c game.h,其中 main.c 用於放整個遊戲的框架 game.c與game.h組成玩遊戲的模組。如下 game.h define crt secure no warnings 1 include ...
C語言 三子棋遊戲
c語言 三子棋遊戲 可以使用機器學習的方式,來訓練電腦落子,目前沒做 遊戲 標頭檔案 game.h include include include define line3 define row3 void initboard char board line row int line,int row...