今天我們來完成乙個三子棋的小遊戲。
遊戲要實現:
在3*3的棋盤上進行人機對弈,玩家輸入棋盤座標下棋,電腦通過產生隨機數下棋。最終,誰先完成三子相連,就是贏家。
若在棋盤下滿還未決出勝負,那就是平局。
為了完成這個遊戲,我們要建立三個檔案,分別為chessboard.h chessboard.c test.c
它們分別完成的任務是相關函式的宣告,相關函式的實現,以及主函式。
我們先看chessboard.h完成的部分。
#define _crt_secure_no_warnings 1
#define rows 3 //定義行數
#define cols 3 //定義列數
void init_board(char board[rows][cols],int x,int y); //初始化棋盤
void display_board(char board[rows][cols],int x,int y); //顯示棋盤
void player_move(char board[rows][cols],int x,int y); //玩家下棋
void computer_move(char board[rows][cols]); //電腦下棋
char check_win(char board[rows][cols],int x,int y); //判斷輸贏
再來看chessboard.c的部分。
#include "chessboard.h"
#include#includevoid init_board(char board[rows][cols],int x,int y) //初始化棋盤
else
} else
} }void computer_move(char board[rows][cols]) //電腦下棋,電腦下『0』
} }int board_full(char board[rows][cols],int x,int y) //檢查棋盤是否有空位
void game()
; //rows 和 cols的值巨集定義給出了
srand((unsigned)time(null)); //產生隨機值的種子
init_board(board,rows,cols);
display_board( board,rows,cols);
do printf("電腦正在下棋......\n");
sleep(1000);
computer_move(board);
display_board( board,rows,cols);
rt = check_win(board,rows,cols);
}while(rt==' ');
if(rt=='0')
if(rt=='x')
if(rt=='m')
}int main()
}while(input);
return 0;
}
以上就是三子棋的遊戲全部程式。
其中有部分寫的不是特別簡介,還可以進一步優化。
C語言簡單實現三子棋
首先我們在vs2013中建立乙個test.c和game.c檔案,再建立乙個test.h標頭檔案,其中game.c檔案裡面編寫三子棋的主要功能實現,test.c檔案用於三子棋功能測試,test.h檔案用於宣告函式。函式解釋 memset void dest,intc,size tcount dest為...
C語言三子棋實現
標頭檔案 ifndef game h define game h include time.h include stdlib.h include string.h include stdio.h define rows 3 define cols 3 void init board char arr...
C語言 三子棋
使用工具 vs2017 分為三部分 game.h 函式宣告 game.c 實現函式功能 test.c main函式 棋盤為3 3的矩陣 規則 1.每回合玩家與電腦只能放置一枚棋子 2.已有棋子的位置不能再放置棋子 3.若有一方的三枚棋子可連城一條直線,則勝利 4.若棋盤棋子已經布滿,但是雙方沒有一方...