Пример #1
0
        private void InitializeMenu()
        {
            float buttomwidth  = 100;
            float buttomheight = 20;

            _menu = new RadioVerticalMenu(0, 150, _input, 60);
            Button startGame = new Button(
                delegate(object o, EventArgs e)
            {
                ///<remarks>正式开始游戏</remarks>
                _system.ChangeState("inner_game");
            },
                new Text("开始", _generalFont), buttomwidth, buttomheight, _input);

            Button exitGame = new Button(
                delegate(object o, EventArgs e)
            {
                ///<remarks>退出</remarks>
                System.Windows.Forms.Application.Exit();
            },
                new Text("退出", _generalFont), buttomwidth, buttomheight, _input);

            ///<remarks>添加菜单</remarks>
            _menu.AddButton(startGame);
            _menu.AddButton(exitGame);
        }
Пример #2
0
        private Option OptionMenu()
        {
            _optionmenu = new RadioVerticalMenu(-450, 150, _input);
            Text   label1        = new Text("玩家先行", _generalFont);
            Text   label2        = new Text("电脑先行", _generalFont);
            float  optionwidth   = 100;
            float  optionheight  = 20;
            Option optionChecked = new Option();
            Button player        = new Button(
                delegate(object o, EventArgs e)
            {
                ///<remarks>正式开始游戏</remarks>
                //_system.ChangeState("inner_game");
                //label1.SetColor(new Color(0, 1, 0, 1));
                //label2.SetColor(new Color(0, 0, 0, 1));
                optionChecked.playerChecked   = true;
                optionChecked.computerChecked = false;
            },
                label1, optionwidth, optionheight, _input);

            Button computer = new Button(
                delegate(object o, EventArgs e)
            {
                ///<remarks>退出</remarks>
                //System.Windows.Forms.Application.Exit();
                //label2.SetColor(new Color(0, 1, 0, 1));
                //label1.SetColor(new Color(0, 0, 0, 1));
                optionChecked.playerChecked   = false;
                optionChecked.computerChecked = true;
            },
                label2, optionwidth, optionheight, _input);

            ///<remarks>添加菜单</remarks>
            _optionmenu.AddButton(player);
            _optionmenu.AddButton(computer);

            return(optionChecked);
        }
Пример #3
0
        private Engines EngineMenu()
        {
            _enginemenu = new RadioVerticalMenu(450, 150, _input, 40);
            Text    label1        = new Text("负极大值引擎", _generalFont);
            Text    label2        = new Text("AlphaBeta剪枝搜索引擎", _generalFont);
            Text    label3        = new Text("Fail-Soft AlphaBeta剪枝搜索引擎", _generalFont);
            Text    label4        = new Text("渴望搜索引擎", _generalFont);
            Text    label5        = new Text("极小窗口搜索引擎", _generalFont);
            Text    label6        = new Text("迭代深化AlphaBeta搜索引擎", _generalFont);
            Text    label7        = new Text("AlphaBeta剪枝+置换表搜索引擎", _generalFont);
            Text    label8        = new Text("Alphabeta剪枝+历史启发搜索引擎", _generalFont);
            Text    label9        = new Text("Mdt(f)搜索引擎", _generalFont);
            Text    label10       = new Text("NegaScout+置换表+历史启发", _generalFont);
            float   enginewidth   = 250;
            float   engineheight  = 15;
            Engines engineChecked = new Engines();
            Button  Negamax       = new Button(
                delegate(object o, EventArgs e)
            {
                ///<remarks>正式开始游戏</remarks>
                //_system.ChangeState("inner_game");
                //label1.SetColor(new Color(0, 1, 0, 1));
                //label2.SetColor(new Color(0, 0, 0, 1));
                //label3.SetColor(new Color(0, 0, 0, 1));
                //label4.SetColor(new Color(0, 0, 0, 1));
                //label5.SetColor(new Color(0, 0, 0, 1));
                //label6.SetColor(new Color(0, 0, 0, 1));
                //label7.SetColor(new Color(0, 0, 0, 1));
                //label8.SetColor(new Color(0, 0, 0, 1));
                //label9.SetColor(new Color(0, 0, 0, 1));
                //label10.SetColor(new Color(0, 0, 0, 1));
                engineChecked.NegamaxChecked    = true;
                engineChecked.AlphaBetaChecked  = false;
                engineChecked.FSABChecked       = false;
                engineChecked.AspirationChecked = false;
                engineChecked.PVSChecked        = false;
                engineChecked.IDAChecked        = false;
                engineChecked.ATTChecked        = false;
                engineChecked.AHHChecked        = false;
                engineChecked.MdtfChecked       = false;
                engineChecked.NTTHHChecked      = false;
            },
                label1, enginewidth, engineheight, _input);

            Button AlphaBeta = new Button(
                delegate(object o, EventArgs e)
            {
                ///<remarks>退出</remarks>
                //System.Windows.Forms.Application.Exit();
                //label2.SetColor(new Color(0, 1, 0, 1));
                //label1.SetColor(new Color(0, 0, 0, 1));
                //label3.SetColor(new Color(0, 0, 0, 1));
                //label4.SetColor(new Color(0, 0, 0, 1));
                //label5.SetColor(new Color(0, 0, 0, 1));
                //label6.SetColor(new Color(0, 0, 0, 1));
                //label7.SetColor(new Color(0, 0, 0, 1));
                //label8.SetColor(new Color(0, 0, 0, 1));
                //label9.SetColor(new Color(0, 0, 0, 1));
                //label10.SetColor(new Color(0, 0, 0, 1));
                engineChecked.NegamaxChecked    = false;
                engineChecked.AlphaBetaChecked  = true;
                engineChecked.FSABChecked       = false;
                engineChecked.AspirationChecked = false;
                engineChecked.PVSChecked        = false;
                engineChecked.IDAChecked        = false;
                engineChecked.ATTChecked        = false;
                engineChecked.AHHChecked        = false;
                engineChecked.MdtfChecked       = false;
                engineChecked.NTTHHChecked      = false;
            },
                label2, enginewidth, engineheight, _input);
            Button FSAB = new Button(
                delegate(object o, EventArgs e)
            {
                ///<remarks>正式开始游戏</remarks>
                //_system.ChangeState("inner_game");
                //label3.SetColor(new Color(0, 1, 0, 1));
                //label1.SetColor(new Color(0, 0, 0, 1));
                //label2.SetColor(new Color(0, 0, 0, 1));
                //label4.SetColor(new Color(0, 0, 0, 1));
                //label5.SetColor(new Color(0, 0, 0, 1));
                //label6.SetColor(new Color(0, 0, 0, 1));
                //label7.SetColor(new Color(0, 0, 0, 1));
                //label8.SetColor(new Color(0, 0, 0, 1));
                //label9.SetColor(new Color(0, 0, 0, 1));
                //label10.SetColor(new Color(0, 0, 0, 1));
                engineChecked.NegamaxChecked    = false;
                engineChecked.AlphaBetaChecked  = false;
                engineChecked.FSABChecked       = true;
                engineChecked.AspirationChecked = false;
                engineChecked.PVSChecked        = false;
                engineChecked.IDAChecked        = false;
                engineChecked.ATTChecked        = false;
                engineChecked.AHHChecked        = false;
                engineChecked.MdtfChecked       = false;
                engineChecked.NTTHHChecked      = false;
            },
                label3, enginewidth, engineheight, _input);

            Button Aspiration = new Button(
                delegate(object o, EventArgs e)
            {
                ///<remarks>退出</remarks>
                //System.Windows.Forms.Application.Exit();
                //label4.SetColor(new Color(0, 1, 0, 1));
                //label1.SetColor(new Color(0, 0, 0, 1));
                //label2.SetColor(new Color(0, 0, 0, 1));
                //label3.SetColor(new Color(0, 0, 0, 1));
                //label5.SetColor(new Color(0, 0, 0, 1));
                //label6.SetColor(new Color(0, 0, 0, 1));
                //label7.SetColor(new Color(0, 0, 0, 1));
                //label8.SetColor(new Color(0, 0, 0, 1));
                //label9.SetColor(new Color(0, 0, 0, 1));
                //label10.SetColor(new Color(0, 0, 0, 1));
                engineChecked.NegamaxChecked    = false;
                engineChecked.AlphaBetaChecked  = false;
                engineChecked.FSABChecked       = false;
                engineChecked.AspirationChecked = true;
                engineChecked.PVSChecked        = false;
                engineChecked.IDAChecked        = false;
                engineChecked.ATTChecked        = false;
                engineChecked.AHHChecked        = false;
                engineChecked.MdtfChecked       = false;
                engineChecked.NTTHHChecked      = false;
            },
                label4, enginewidth, engineheight, _input);
            Button PVS = new Button(
                delegate(object o, EventArgs e)
            {
                ///<remarks>正式开始游戏</remarks>
                //_system.ChangeState("inner_game");
                //label5.SetColor(new Color(0, 1, 0, 1));
                //label1.SetColor(new Color(0, 0, 0, 1));
                //label2.SetColor(new Color(0, 0, 0, 1));
                //label3.SetColor(new Color(0, 0, 0, 1));
                //label4.SetColor(new Color(0, 0, 0, 1));
                //label6.SetColor(new Color(0, 0, 0, 1));
                //label7.SetColor(new Color(0, 0, 0, 1));
                //label8.SetColor(new Color(0, 0, 0, 1));
                //label9.SetColor(new Color(0, 0, 0, 1));
                //label10.SetColor(new Color(0, 0, 0, 1));
                engineChecked.NegamaxChecked    = false;
                engineChecked.AlphaBetaChecked  = false;
                engineChecked.FSABChecked       = false;
                engineChecked.AspirationChecked = false;
                engineChecked.PVSChecked        = true;
                engineChecked.IDAChecked        = false;
                engineChecked.ATTChecked        = false;
                engineChecked.AHHChecked        = false;
                engineChecked.MdtfChecked       = false;
                engineChecked.NTTHHChecked      = false;
            },
                label5, enginewidth, engineheight, _input);

            Button IDA = new Button(
                delegate(object o, EventArgs e)
            {
                ///<remarks>退出</remarks>
                //System.Windows.Forms.Application.Exit();
                //label6.SetColor(new Color(0, 1, 0, 1));
                //label1.SetColor(new Color(0, 0, 0, 1));
                //label2.SetColor(new Color(0, 0, 0, 1));
                //label3.SetColor(new Color(0, 0, 0, 1));
                //label4.SetColor(new Color(0, 0, 0, 1));
                //label5.SetColor(new Color(0, 0, 0, 1));
                //label7.SetColor(new Color(0, 0, 0, 1));
                //label8.SetColor(new Color(0, 0, 0, 1));
                //label9.SetColor(new Color(0, 0, 0, 1));
                //label10.SetColor(new Color(0, 0, 0, 1));
                engineChecked.NegamaxChecked    = false;
                engineChecked.AlphaBetaChecked  = false;
                engineChecked.FSABChecked       = false;
                engineChecked.AspirationChecked = false;
                engineChecked.PVSChecked        = false;
                engineChecked.IDAChecked        = true;
                engineChecked.ATTChecked        = false;
                engineChecked.AHHChecked        = false;
                engineChecked.MdtfChecked       = false;
                engineChecked.NTTHHChecked      = false;
            },
                label6, enginewidth, engineheight, _input);
            Button ATT = new Button(
                delegate(object o, EventArgs e)
            {
                ///<remarks>正式开始游戏</remarks>
                //_system.ChangeState("inner_game");
                //label7.SetColor(new Color(0, 1, 0, 1));
                //label1.SetColor(new Color(0, 0, 0, 1));
                //label2.SetColor(new Color(0, 0, 0, 1));
                //label3.SetColor(new Color(0, 0, 0, 1));
                //label4.SetColor(new Color(0, 0, 0, 1));
                //label5.SetColor(new Color(0, 0, 0, 1));
                //label6.SetColor(new Color(0, 0, 0, 1));
                //label8.SetColor(new Color(0, 0, 0, 1));
                //label9.SetColor(new Color(0, 0, 0, 1));
                //label10.SetColor(new Color(0, 0, 0, 1));
                engineChecked.NegamaxChecked    = false;
                engineChecked.AlphaBetaChecked  = false;
                engineChecked.FSABChecked       = false;
                engineChecked.AspirationChecked = false;
                engineChecked.PVSChecked        = false;
                engineChecked.IDAChecked        = false;
                engineChecked.ATTChecked        = true;
                engineChecked.AHHChecked        = false;
                engineChecked.MdtfChecked       = false;
                engineChecked.NTTHHChecked      = false;
            },
                label7, enginewidth, engineheight, _input);

            Button AHH = new Button(
                delegate(object o, EventArgs e)
            {
                ///<remarks>退出</remarks>
                //System.Windows.Forms.Application.Exit();
                //label8.SetColor(new Color(0, 1, 0, 1));
                //label1.SetColor(new Color(0, 0, 0, 1));
                //label2.SetColor(new Color(0, 0, 0, 1));
                //label3.SetColor(new Color(0, 0, 0, 1));
                //label4.SetColor(new Color(0, 0, 0, 1));
                //label5.SetColor(new Color(0, 0, 0, 1));
                //label6.SetColor(new Color(0, 0, 0, 1));
                //label7.SetColor(new Color(0, 0, 0, 1));
                //label9.SetColor(new Color(0, 0, 0, 1));
                //label10.SetColor(new Color(0, 0, 0, 1));
                engineChecked.NegamaxChecked    = false;
                engineChecked.AlphaBetaChecked  = false;
                engineChecked.FSABChecked       = false;
                engineChecked.AspirationChecked = false;
                engineChecked.PVSChecked        = false;
                engineChecked.IDAChecked        = false;
                engineChecked.ATTChecked        = false;
                engineChecked.AHHChecked        = true;
                engineChecked.MdtfChecked       = false;
                engineChecked.NTTHHChecked      = false;
            },
                label8, enginewidth, engineheight, _input);
            Button Mdtf = new Button(
                delegate(object o, EventArgs e)
            {
                ///<remarks>正式开始游戏</remarks>
                //_system.ChangeState("inner_game");
                //label9.SetColor(new Color(0, 1, 0, 1));
                //label1.SetColor(new Color(0, 0, 0, 1));
                //label2.SetColor(new Color(0, 0, 0, 1));
                //label3.SetColor(new Color(0, 0, 0, 1));
                //label4.SetColor(new Color(0, 0, 0, 1));
                //label5.SetColor(new Color(0, 0, 0, 1));
                //label6.SetColor(new Color(0, 0, 0, 1));
                //label7.SetColor(new Color(0, 0, 0, 1));
                //label8.SetColor(new Color(0, 0, 0, 1));
                //label10.SetColor(new Color(0, 0, 0, 1));
                engineChecked.NegamaxChecked    = false;
                engineChecked.AlphaBetaChecked  = false;
                engineChecked.FSABChecked       = false;
                engineChecked.AspirationChecked = false;
                engineChecked.PVSChecked        = false;
                engineChecked.IDAChecked        = false;
                engineChecked.ATTChecked        = false;
                engineChecked.AHHChecked        = false;
                engineChecked.MdtfChecked       = true;
                engineChecked.NTTHHChecked      = false;
            },
                label9, enginewidth, engineheight, _input);

            Button NTTHH = new Button(
                delegate(object o, EventArgs e)
            {
                ///<remarks>退出</remarks>
                //System.Windows.Forms.Application.Exit();
                //label10.SetColor(new Color(0, 1, 0, 1));
                //label1.SetColor(new Color(0, 0, 0, 1));
                //label2.SetColor(new Color(0, 0, 0, 1));
                //label3.SetColor(new Color(0, 0, 0, 1));
                //label4.SetColor(new Color(0, 0, 0, 1));
                //label5.SetColor(new Color(0, 0, 0, 1));
                //label6.SetColor(new Color(0, 0, 0, 1));
                //label7.SetColor(new Color(0, 0, 0, 1));
                //label8.SetColor(new Color(0, 0, 0, 1));
                //label9.SetColor(new Color(0, 0, 0, 1));
                engineChecked.NegamaxChecked    = false;
                engineChecked.AlphaBetaChecked  = false;
                engineChecked.FSABChecked       = false;
                engineChecked.AspirationChecked = false;
                engineChecked.PVSChecked        = false;
                engineChecked.IDAChecked        = false;
                engineChecked.ATTChecked        = false;
                engineChecked.AHHChecked        = false;
                engineChecked.MdtfChecked       = false;
                engineChecked.NTTHHChecked      = true;
            },
                label10, enginewidth, engineheight, _input);

            ///<remarks>添加菜单</remarks>
            _enginemenu.AddButton(Negamax);
            _enginemenu.AddButton(AlphaBeta);
            _enginemenu.AddButton(FSAB);
            _enginemenu.AddButton(Aspiration);
            _enginemenu.AddButton(PVS);
            _enginemenu.AddButton(IDA);
            _enginemenu.AddButton(ATT);
            _enginemenu.AddButton(AHH);
            _enginemenu.AddButton(Mdtf);
            _enginemenu.AddButton(NTTHH);

            return(engineChecked);
        }