五子棋游戏源码(c#)

贾佳佳 0 0 0 216
免费下载->

部分代码

void winJudge(int x,int y)
{
    //下棋之前记住改变的状态
    State s;
    //s = new State();
    if (states.count >= 6)
    {
        s = states.getAndRemoveLast();
        s.k_valueList = new ArrayList();
    }
    else
    {
        s = new State();
    }
    s.x = x;
    s.y = y;
    //记住坐标
    s.pictureBox=paintNode(x * 36 - 18, y * 36 - 18);//下棋
    chessBorad[x, y] = 2;//棋盘标记已下棋
    for (int k = 0; k < re.getCount(); k++)
    {//遍历所有的赢法
        if (wins[x, y, k])
        {//如果(x,y)这个点在某一种赢法中

            //记录之前的k中赢发的状态值
            s.k_valueList.Add(new K_Value(k, myWin[k], computerWin[k]));

            computerWin[k]++;  //那么该种赢法中有多了一个棋子
            myWin[k] = 999;  //那么我方的这种赢法就不可能赢了,设一个异常的值
            if (computerWin[k] == 5)
            { //如果计算机在某种赢法上连上了五个子,那么计算机就赢了,我方就输了
                MessageBox.Show("你输了");
                over = true; //结束游戏
                return;
            }
        }
    }
    states.add(s);
    if (!over)
    {//如果没有结束游戏
        me = !me;//换我方下棋
    }
}
猜你喜欢