赞
踩
1.初始化棋盘
打印3x3的棋盘:
2.玩家下棋
while循环 输入二维数组坐标,判断是否等于空格,等于空格则赋值为棋子“#”,break跳出循环,不等于空格说明此坐标已存在棋子,则需else提示重新输入,
3.电脑下棋
电脑下棋随机数可以用rand函数,随机输入两个坐标范围内的数字,判断是否等于空格,
srand((ungrateful int )time(NULL))
rand =srand()%3
产生一个随机的数,模3,得到的随机数范围0-2;
time函数的头文件#include<time.h>
rand和srand的头文件#include<stdlib.h>
4.判断输赢
思路:
横向判断:
每行有没有连续的三个相同的棋子,循环if判断,如果有则临时变量judge加1,若judge为3,则棋子代表的一方胜利
竖向判断:
每列有没有相同的连续三个棋子,循环if判断,如果有则临时变量judge加1,若judge为3,则棋子代表的一方胜利(套循环的时候可以把列放在外循环,行放在内循环,这样就很简单的实现竖向判断)
/右斜判断:
如图,我们不难发现,特定的每一行和每一列相加,会有一个斜着连续相同的值,所以我们可以用到一个双目操作符‘&&’
if(行+列 == 2)&& 数组[行][列] == “#”
else if
(行+列 == 2)&& 数组[行][列] == “ * ”
如果出现一个棋子则judge+1,judge等于3,游戏结束,棋子方胜利
\左斜判断:
通过上图我们不难发现,0 == 0,1==1,2==2的时候刚好连成一条直线,所以我们就有了思路
if(行 == 列 )&& 数组[行][列] == “#”
else if
(行 == 列)&& 数组[行][列] == “ * ”
如果出现一个棋子则judge+1,judge等于3,游戏结束,棋子方胜利
(新人创作,仅供参考)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。