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