介绍
今天就跟大家聊聊有关使用C语言实现一个三子棋小游戏,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
1。游戏介绍
三子棋是一种民间传统游戏,又叫九宫棋,圈圈叉叉,一条龙等。将正方形对角线连起来,相对两边依次摆上三个双方棋子,只要将自己的<>强三个棋子走成一条线,对方就算输了。强>
2。游戏效果
3。源代码
<强>(1)头文件命名为为游戏。h 强>
主要是整个程序中函数的声明
# include# include # include # define ROW 3,//行 # define COL 3,//列 void BoardInit (char 董事会(行)(COL), int 行,int 坳);//棋盘展示 void BoardShow (char 董事会(行)(COL), int 行,int 坳);//人下一个位置用M表示,电脑下一个位置用C表示 void PlayerMove (char 董事会(行)(COL), int 行,int 坳); void ComputerMove (char 董事会(行)(COL), int 行,int 坳);//如果人赢返回M 电脑赢返回C 平局返回问 char IsWin (char 董事会(行)(COL), int 行,int 坳); char IsFull (char 董事会(行)(COL), int 行,int 坳);
<强>(2)游戏文件命名为游戏。c 强>
主要是三子棋游戏的实现
# include" game.h" # include//棋盘初始化 void BoardInit (char 董事会(行)(COL), int 行,int 坳) { ,for (int 小姐:=,0;,小姐:& lt;,行;,我+ +) ,{ ,for (int j =, 0;, j & lt;,坳;,j + +) ,{ ,董事会[我][j],=, & # 39;, & # 39;; ,} ,} }//棋盘展示 void BoardShow (char 董事会(行)(COL), int 行,int 坳) { ,for (int 小姐:=,0;,小姐:& lt;,行;,我+ +) ,{ ,printf (“- - - - - - - - - - - - - - - - - - - \ n"); ,printf (“|, |, |, | \ n"); ,printf (“|, |, |, | \ n"); ,for (int j =, 0;, j & lt;,坳;,j + +) ,{ ,printf (“, % c “董事会[我][j]); , ,} ,printf (“\ n"); ,} ,printf (“- - - - - - - - - - - - - - - - - - - \ n"); }//玩家下子 void PlayerMove (char 董事会(行)(COL), int 行,int 坳) { ,int x, y; ,while (1) ,{ ,printf(“请输入你要下的坐标:在“); ,scanf_s (“% d % d",,, x,, y); ,//对玩家落子坐标判断 ,if (x 祝辞,row | |, y 祝辞,col | |, x & lt;, 0, | |, y & lt;, 0) ,{ ,printf(“非法输入请重新输入\ n"); ,继续; ,} ,else if (董事会[x] [y], !=, & # 39;, & # 39;) ,{ ,printf(“此位置已落子,请重新输入! \ n"); ,继续; ,} ,//满足落子要求返回M 其他的, ,{ ,董事会[x] [y],=, & # 39;猴# 39;; 猴,return & # 39; # 39;; ,打破; ,} ,} ,}//电脑下子 void ComputerMove (char 董事会(行)(COL), int 行,int 坳) { ,将srand(时间(NULL)); ,while (1) ,{ ,int x =, rand (), %, 3; ,int y =, rand (), %, 3; ,//满足落子要求返回C ,if (董事会[x] [y], !=,,,,) ,{ ,董事会[x] [y],=, & # 39; c # 39;; ,return & # 39; c # 39;; ,打破; ,} ,} }//判断棋盘是否被下满 char IsFull (char 董事会(行)(COL), int 行,int 坳) { ,for (int 小姐:=,0;,小姐:& lt;,行;,我+ +) ,{ ,for (int j =, 0;, j & lt;,坳;,j + +) ,{ ,if (董事会[我][j],==, & # 39;, & # 39;) ,{ ,return 0; ,} ,} ,} ,return & # 39;提问# 39;,,//满了 , }//输赢判断 char IsWin (char 董事会(行)(COL), int 行,int 坳) { ,//横行三个连子赢 ,for (int 小姐:=,0;,小姐:& lt;,行;,我+ +) ,{ ,if (董事会[我][0],==,董事会[我][1],,,,董事会[我][1],==,董事会[我][2]) ,{ ,if (董事会[我][0],==,& # 39;猴# 39;) ,{ 猴,return & # 39; # 39;; ,} ,else if (董事会[我][0],==,& # 39;c # 39;) ,{ ,return & # 39; c # 39;; ,} ,} ,} ,//竖行三个个连子赢 ,for (int 小姐:=,0;,小姐:& lt;,坳;,我+ +) ,{ 董事会,if ([0][我],==,董事会[1][我],,,,董事会[1][我],==,委员会[2][我]) ,{ 董事会,if ([0][我],==,& # 39;猴# 39;) ,{ 猴,return & # 39; # 39;; ,} 董事会,else if ([0][我],==,& # 39;c # 39;) ,{ ,return & # 39; c # 39;; ,} ,} ,} ,//斜向“\“这样三个连子赢 null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null 使用C语言实现一个三子棋小游戏