五子棋游戏源码(c#)

weblog 1642 0 0

部分代码

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;//换我方下棋
    }
}
猜你喜欢
五子棋 游戏 算法 数据结构 c 1089 下篇分享c#~
weblog 2086 exe文件:http://photo.jiajiajia.club/file/wuziqi.exe 扫雷exe文件:http://photo.jiajiajia.club/file
数据结构与算法 2056 java实现人机对战packagefir;importjava.awt.*;importjavax.swing.JPanel;/***有背景图片的Panel类*@authortntxia
游戏 算法 1365 :packagewin;importjava.awt.EventQueue;importjava.util.Collections;importjava.util.HashMap
java基础 1648 与补一.机器数和真值在学习原,反和补之前,需要先了解机器数和真值的概念.1、机器数一个数在计算机中的二进制表示形式,叫做这个数的机器数。机器数是带符号的,在计算机用一个数的最高位存放
official 639 《操作系统》操作系统作为系统资的管理者,当然也需要对内存进行管理,要管些什么呢?GTA的大小超过60GB,按理来说这个程序运行之前需要把60GB数据全部放入内存。然而,实际我的电脑内存才
前端,javascript 79 下方的代包括html,css,javascript。可直接复制到本地文件测试。如果引用的图片无法访问,请替换图片连接。 !DOCTYPEhtml htmllang="en" head
weblog 3330 使用 this.panel.BackgroundImage=global::WindowsFormsApplication2.Properties.Resources.one; 这样就给一个panel设置了背景图片
目录