三子棋的實現還是比較簡單的,在寫**之前,你先構建一下遊戲的架構,這樣寫的時候思路比較清晰,不容易思想卡克,很容易就完成。再乙個,你寫的**並不是孤芳自賞的,而是要拿出來給別人看,別人可以清楚地看懂你的**,這才是好**。
我們先來看三子棋的架構如何實現,這就看你的思維邏輯能力了。下面**很清晰的展現了這一架構:
void game() //主遊戲模組
; //用二維陣列來實現落子的座標
init_chessboard(arr, rows, cols); //初始化棋盤
display_chessboard(arr, rows, cols); //列印棋盤
while (1) //通過while迴圈來實現玩家與電腦交替下棋的過程
printf("------------\n");
computer_move(arr, rows, cols); //電腦下棋
display_chessboard(arr, rows, cols);
ret = judge_win(arr, rows, cols); //判斷棋盤是否已滿
if (ret != ' ')
}if ('o' == ret)
printf("恭喜你贏了!!!\\n");
else
if ('x' == ret)`這裡寫**片`
printf("很遺憾你輸了!!!\n");
else
printf("平局\n");
}
下來我們來設計主函式。切記,主函式一定要簡單,這樣看上去一目了然,很有條理性。看下面主函式**:
int main()
} while (input);
return
0;}
寫到這,可以說遊戲已經完成了60%,剩下的就是具體功能塊的實現和一些有待完善的小細節。
一, 玩家下棋
void player_move(char arr[rows][cols], int rows, int cols)
}else
}}
二, 電腦下棋
void computer_move(char arr[rows][cols], int rows, int cols)
}}
三, 判斷棋盤是否已滿
static
int is_full(char arr[rows][cols],int rows,int cols)}}
return
1; //滿了,平局
}char judge_win(char arr[rows][cols], int rows, int cols)
if ((arr[0][i] == arr[1][i]) && (arr[1][i] == arr[2][i]) && arr[0][i] != ' ')
}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 (is_full(arr, rows, cols))
else
return
' '; //沒滿,繼續下
}
四, 初始化棋盤
void init_chessboard(char arr[rows][cols],int rows,int cols)
//}memset(arr, ' ', sizeof(char)*rows*cols); //方法二,效率更高
}
五, 列印棋盤
void display_chessboard(char arr[rows][cols], int rows, int cols)
}}
六, 選單模組
void print_menu()
//選單函式
最後一點就是建立標頭檔案對函式進行宣告。**如下:
#ifndef __chees_h__
#define __chees_h__
#define rows 3 //巨集定義
#define cols 3
void init_chessboard(char arr[rows][cols], int rows, int cols);
void display_chessboard(char arr[rows][cols], int rows, int cols);
void player_move(char arr[rows][cols], int rows, int cols);
void computer_move(char arr[rows][cols], int rows, int cols);
char judge_win(char arr[rows][cols], int rows, int cols);
int is_full(char arr[rows][cols], int rows,int cols);
#endif //__chees_h__
這個三子棋小遊戲就完成了,是不是很簡單,只要思路清晰,寫出這個應該對你還是比較簡單的。相信你,加油!!! 三子棋的實現
c語言實現三子棋 c語言實現三子棋關鍵是運用到二維陣列的知識,使用多檔案程式設計來實現這個程式,我們需要建立乙個標頭檔案,兩個原始檔來實現 main.c chess.c chess.h 如下圖所示,玩家的棋為字元 x 電腦的棋為字元 0 接下來,我們看一下具體的 實現 首先,要完成對頭檔案的宣告 i...
c 實現三子棋
2.顯示棋盤 3.玩家選擇座標進行下棋 4.電腦進行隨機座標下棋 5.每次落子後進行判斷輸贏 6.列印當前棋盤 二 介紹 總結 1.1主要用於函式宣告,以及對棋盤的大小進行初始化 標頭檔案的作用 1.方便開發 包含一些檔案需要的共同的常量,結構,型別定義,函式,變數申明 2.使函式的作用域從函式宣告...
簡單的三子棋實現
game.h pragma warning disable 4996 ifndef game h define game h include include include define row 3 define col 3 void initboard char board row col int...