使用C语言实现一个三子棋小游戏

  介绍

今天就跟大家聊聊有关使用C语言实现一个三子棋小游戏,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

1。游戏介绍

三子棋是一种民间传统游戏,又叫九宫棋,圈圈叉叉,一条龙等。将正方形对角线连起来,相对两边依次摆上三个双方棋子,只要将自己的<>强三个棋子走成一条线,对方就算输了。

2。游戏效果

使用C语言实现一个三子棋小游戏

使用C语言实现一个三子棋小游戏

使用C语言实现一个三子棋小游戏

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语言实现一个三子棋小游戏