GitHub:https://github.com/kotomineshiki/unityhomework1.git
之前使用过NGUI来进行游戏开发,这次尝试一下GUI。
井字棋规则如下
- 棋盘大小为3*3,对战双方只能在这个范围内、按次序轮流下棋
- 先手的棋的形状是O 后手的棋的形状是X
- 先将自己的棋子连成一条直线(横、竖、斜都可以)的一方获胜
那么我们的思路很明显了
- 采用一个二维数组作为存储结构,每个单元初始状态为0,被先手下了变为1,被后手下了变为2
- 检测当前状态,如果分为:先手赢、后手赢、输赢待定、平局四个状态
- 对于先、后手赢、平局状态应该输出,并有restart按钮可以重新开始
- 先后手赢需要检查3行、3列、2斜来判定。
- 平局状态应该用一个计数器来判定,每下一个子++,但它值为9的时候还没有输赢,那么就是平局了
- 输赢待定时,先渲染当前的棋盘,然后如果当前为空的棋盘被点击,则在该处下子、接着轮到对手下。
public int turn;//次序,表示轮流下棋
public int count;//累计数量,防止平局
private int[,] cells = new int[3, 3];//用来储存九个格子
2:判断当前状态
private int winCheck()
{
for(int i = 0; i < 3; ++i)
{
if (cells[i, 0] != 0 &am