Esempio n. 1
0
 private void Gobang_Load(object sender, EventArgs e)
 {
     for (int i = 0; i < 21; i++)
     {
         for (int j = 0; j < 21; j++)
         {
             main_chess[i, j] = new Chessman();
         }
     }
     computerAI_Du = new ComputerAI_Du(main_chess);
 }
Esempio n. 2
0
        private int GetWeightSingle(int Direction, int m_x, int m_y, GobangPlayer m_player)
        {
            Chessman[] LEFT_TO_RIGHT = new Chessman[9];
            if (Direction == 0)
            {
                for (int i = 0; i < 9; i++)
                {
                    LEFT_TO_RIGHT[i] = GetClassChessMan(m_x + i - 4, m_y, m_player);
                }
            }
            else if (Direction == 1)
            {
                for (int i = 0; i < 9; i++)
                {
                    LEFT_TO_RIGHT[i] = GetClassChessMan(m_x, m_y + i - 4, m_player);
                }
            }
            else if (Direction == 2)
            {
                for (int i = 0; i < 9; i++)
                {
                    LEFT_TO_RIGHT[i] = GetClassChessMan(m_x + i - 4, m_y + i - 4, m_player);
                }
            }
            else
            {
                for (int i = 0; i < 9; i++)
                {
                    LEFT_TO_RIGHT[i] = GetClassChessMan(m_x - (i - 4), m_y + i - 4, m_player);
                }
            }
            GobangPlayer player_enemy = GobangPlayer.Player1;

            if (m_player == GobangPlayer.Player1)
            {
                player_enemy = GobangPlayer.Player2;
            }
            Chessman OwnPawn = new Chessman()
            {
                GoBangPlayer = m_player
            };
            Chessman OtherPawn = new Chessman()
            {
                GoBangPlayer = player_enemy
            };

            if (LEFT_TO_RIGHT[1].IsEmpty &&
                LEFT_TO_RIGHT[2].IsEmpty &&
                LEFT_TO_RIGHT[3].IsEmpty &&

                LEFT_TO_RIGHT[5].IsEmpty &&
                LEFT_TO_RIGHT[6].IsEmpty &&
                LEFT_TO_RIGHT[7].IsEmpty)
            {
                return(1);//四周都没有棋子为1
            }
            //0000#
            if (LEFT_TO_RIGHT[0] == OwnPawn &&
                LEFT_TO_RIGHT[1] == OwnPawn &&
                LEFT_TO_RIGHT[2] == OwnPawn &&
                LEFT_TO_RIGHT[3] == OwnPawn)
            {
                return(200);
            }
            if (LEFT_TO_RIGHT[1] == OwnPawn &&
                LEFT_TO_RIGHT[2] == OwnPawn &&
                LEFT_TO_RIGHT[3] == OwnPawn &&

                LEFT_TO_RIGHT[5] == OwnPawn)
            {
                return(200);
            }
            if (LEFT_TO_RIGHT[2] == OwnPawn &&
                LEFT_TO_RIGHT[3] == OwnPawn &&

                LEFT_TO_RIGHT[5] == OwnPawn &&
                LEFT_TO_RIGHT[6] == OwnPawn)
            {
                return(200);
            }
            if (LEFT_TO_RIGHT[3] == OwnPawn &&

                LEFT_TO_RIGHT[5] == OwnPawn &&
                LEFT_TO_RIGHT[6] == OwnPawn &&
                LEFT_TO_RIGHT[7] == OwnPawn)
            {
                return(200);
            }
            if (LEFT_TO_RIGHT[5] == OwnPawn &&
                LEFT_TO_RIGHT[6] == OwnPawn &&
                LEFT_TO_RIGHT[7] == OwnPawn &&
                LEFT_TO_RIGHT[8] == OwnPawn)
            {
                return(200);
            }

            //四子两头空
            //*000#*

            if (LEFT_TO_RIGHT[0].IsEmpty &&
                LEFT_TO_RIGHT[1] == OwnPawn &&
                LEFT_TO_RIGHT[2] == OwnPawn &&
                LEFT_TO_RIGHT[3] == OwnPawn &&

                LEFT_TO_RIGHT[5].IsEmpty)
            {
                return(50);
            }
            if (LEFT_TO_RIGHT[1].IsEmpty &&
                LEFT_TO_RIGHT[2] == OwnPawn &&
                LEFT_TO_RIGHT[3] == OwnPawn &&

                LEFT_TO_RIGHT[5] == OwnPawn &&
                LEFT_TO_RIGHT[6].IsEmpty)
            {
                return(50);
            }
            if (LEFT_TO_RIGHT[2].IsEmpty &&
                LEFT_TO_RIGHT[3] == OwnPawn &&

                LEFT_TO_RIGHT[5] == OwnPawn &&
                LEFT_TO_RIGHT[6] == OwnPawn &&
                LEFT_TO_RIGHT[7].IsEmpty)
            {
                return(50);
            }
            if (LEFT_TO_RIGHT[3].IsEmpty &&

                LEFT_TO_RIGHT[5] == OwnPawn &&
                LEFT_TO_RIGHT[6] == OwnPawn &&
                LEFT_TO_RIGHT[7] == OwnPawn &&
                LEFT_TO_RIGHT[8].IsEmpty)
            {
                return(50);
            }
            //0*0#0*0
            if (LEFT_TO_RIGHT[1] == OwnPawn &&
                LEFT_TO_RIGHT[2].IsEmpty &&
                LEFT_TO_RIGHT[3] == OwnPawn &&

                LEFT_TO_RIGHT[5] == OwnPawn &&
                LEFT_TO_RIGHT[6].IsEmpty &&
                LEFT_TO_RIGHT[7] == OwnPawn)
            {
                return(50);
            }
            //四子一头空 1000#*
            if (LEFT_TO_RIGHT[0] == OtherPawn &&
                LEFT_TO_RIGHT[1] == OwnPawn &&
                LEFT_TO_RIGHT[2] == OwnPawn &&
                LEFT_TO_RIGHT[3] == OwnPawn &&

                LEFT_TO_RIGHT[5].IsEmpty)
            {
                return(12);
            }
            if (LEFT_TO_RIGHT[1] == OtherPawn &&
                LEFT_TO_RIGHT[2] == OwnPawn &&
                LEFT_TO_RIGHT[3] == OwnPawn &&

                LEFT_TO_RIGHT[5] == OwnPawn &&
                LEFT_TO_RIGHT[6].IsEmpty)
            {
                return(12);
            }
            if (LEFT_TO_RIGHT[2] == OtherPawn &&
                LEFT_TO_RIGHT[3] == OwnPawn &&

                LEFT_TO_RIGHT[5] == OwnPawn &&
                LEFT_TO_RIGHT[6] == OwnPawn &&
                LEFT_TO_RIGHT[7].IsEmpty)
            {
                return(12);
            }
            if (LEFT_TO_RIGHT[3] == OtherPawn &&

                LEFT_TO_RIGHT[5] == OwnPawn &&
                LEFT_TO_RIGHT[6] == OwnPawn &&
                LEFT_TO_RIGHT[7] == OwnPawn &&
                LEFT_TO_RIGHT[8].IsEmpty)
            {
                return(12);
            }

            if (LEFT_TO_RIGHT[0].IsEmpty &&
                LEFT_TO_RIGHT[1] == OwnPawn &&
                LEFT_TO_RIGHT[2] == OwnPawn &&
                LEFT_TO_RIGHT[3] == OwnPawn &&

                LEFT_TO_RIGHT[5] == OtherPawn)
            {
                return(12);
            }
            if (LEFT_TO_RIGHT[1].IsEmpty &&
                LEFT_TO_RIGHT[2] == OwnPawn &&
                LEFT_TO_RIGHT[3] == OwnPawn &&

                LEFT_TO_RIGHT[5] == OwnPawn &&
                LEFT_TO_RIGHT[6] == OtherPawn)
            {
                return(12);
            }
            if (LEFT_TO_RIGHT[2].IsEmpty &&
                LEFT_TO_RIGHT[3] == OwnPawn &&

                LEFT_TO_RIGHT[5] == OwnPawn &&
                LEFT_TO_RIGHT[6] == OwnPawn &&
                LEFT_TO_RIGHT[7] == OtherPawn)
            {
                return(12);
            }
            if (LEFT_TO_RIGHT[3].IsEmpty &&

                LEFT_TO_RIGHT[5] == OwnPawn &&
                LEFT_TO_RIGHT[6] == OwnPawn &&
                LEFT_TO_RIGHT[7] == OwnPawn &&
                LEFT_TO_RIGHT[8] == OtherPawn)
            {
                return(12);
            }


            //0*00
            if (LEFT_TO_RIGHT[0] == OwnPawn &&
                LEFT_TO_RIGHT[1].IsEmpty &&
                LEFT_TO_RIGHT[2] == OwnPawn &&
                LEFT_TO_RIGHT[3] == OwnPawn)
            {
                return(11);
            }
            if (LEFT_TO_RIGHT[0] == OwnPawn &&
                LEFT_TO_RIGHT[1] == OwnPawn &&
                LEFT_TO_RIGHT[2].IsEmpty &&
                LEFT_TO_RIGHT[3] == OwnPawn)
            {
                return(11);
            }
            if (LEFT_TO_RIGHT[1] == OwnPawn &&
                LEFT_TO_RIGHT[2].IsEmpty &&
                LEFT_TO_RIGHT[3] == OwnPawn &&

                LEFT_TO_RIGHT[5] == OwnPawn)
            {
                return(11);
            }
            if (LEFT_TO_RIGHT[0] == OwnPawn &&
                LEFT_TO_RIGHT[1] == OwnPawn &&
                LEFT_TO_RIGHT[2] == OwnPawn &&
                LEFT_TO_RIGHT[3].IsEmpty)
            {
                return(11);
            }
            if (LEFT_TO_RIGHT[1] == OwnPawn &&
                LEFT_TO_RIGHT[2] == OwnPawn &&
                LEFT_TO_RIGHT[3].IsEmpty &&

                LEFT_TO_RIGHT[5] == OwnPawn)
            {
                return(11);
            }
            if (LEFT_TO_RIGHT[2] == OwnPawn &&
                LEFT_TO_RIGHT[3].IsEmpty &&

                LEFT_TO_RIGHT[5] == OwnPawn &&
                LEFT_TO_RIGHT[6] == OwnPawn)
            {
                return(11);
            }
            if (LEFT_TO_RIGHT[5].IsEmpty &&
                LEFT_TO_RIGHT[6] == OwnPawn &&
                LEFT_TO_RIGHT[7] == OwnPawn &&
                LEFT_TO_RIGHT[8] == OwnPawn)
            {
                return(11);
            }
            if (LEFT_TO_RIGHT[3] == OwnPawn &&

                LEFT_TO_RIGHT[5].IsEmpty &&
                LEFT_TO_RIGHT[6] == OwnPawn &&
                LEFT_TO_RIGHT[7] == OwnPawn)
            {
                return(11);
            }
            if (LEFT_TO_RIGHT[2] == OwnPawn &&
                LEFT_TO_RIGHT[3] == OwnPawn &&

                LEFT_TO_RIGHT[5].IsEmpty &&
                LEFT_TO_RIGHT[6] == OwnPawn)
            {
                return(11);
            }
            if (LEFT_TO_RIGHT[5] == OwnPawn &&
                LEFT_TO_RIGHT[6].IsEmpty &&
                LEFT_TO_RIGHT[7] == OwnPawn &&
                LEFT_TO_RIGHT[8] == OwnPawn)
            {
                return(11);
            }
            if (LEFT_TO_RIGHT[3] == OwnPawn &&

                LEFT_TO_RIGHT[5] == OwnPawn &&
                LEFT_TO_RIGHT[6].IsEmpty &&
                LEFT_TO_RIGHT[7] == OwnPawn)
            {
                return(11);
            }
            if (LEFT_TO_RIGHT[5] == OwnPawn &&
                LEFT_TO_RIGHT[6] == OwnPawn &&
                LEFT_TO_RIGHT[7].IsEmpty &&
                LEFT_TO_RIGHT[8] == OwnPawn)
            {
                return(11);
            }
            //四子两头堵1000#1
            if (LEFT_TO_RIGHT[0] == OtherPawn &&
                LEFT_TO_RIGHT[1] == OwnPawn &&
                LEFT_TO_RIGHT[2] == OwnPawn &&
                LEFT_TO_RIGHT[3] == OwnPawn &&

                LEFT_TO_RIGHT[5] == OtherPawn)
            {
                return(0);
            }
            if (LEFT_TO_RIGHT[1] == OtherPawn &&
                LEFT_TO_RIGHT[2] == OwnPawn &&
                LEFT_TO_RIGHT[3] == OwnPawn &&

                LEFT_TO_RIGHT[5] == OwnPawn &&
                LEFT_TO_RIGHT[6] == OtherPawn)
            {
                return(0);
            }
            if (LEFT_TO_RIGHT[2] == OtherPawn &&
                LEFT_TO_RIGHT[3] == OwnPawn &&

                LEFT_TO_RIGHT[5] == OwnPawn &&
                LEFT_TO_RIGHT[6] == OwnPawn &&
                LEFT_TO_RIGHT[7] == OtherPawn)
            {
                return(0);
            }
            if (LEFT_TO_RIGHT[3] == OtherPawn &&

                LEFT_TO_RIGHT[5] == OwnPawn &&
                LEFT_TO_RIGHT[6] == OwnPawn &&
                LEFT_TO_RIGHT[7] == OwnPawn &&
                LEFT_TO_RIGHT[8] == OtherPawn)
            {
                return(0);
            }

            //三子两头空=============================================
            //以下三种情况削减得分1*00#**1
            if (LEFT_TO_RIGHT[0] == OtherPawn &&
                LEFT_TO_RIGHT[1].IsEmpty &&
                LEFT_TO_RIGHT[2] == OwnPawn &&
                LEFT_TO_RIGHT[3] == OwnPawn &&

                LEFT_TO_RIGHT[5].IsEmpty &&
                LEFT_TO_RIGHT[6] == OtherPawn)
            {
                return(7);
            }
            if (
                LEFT_TO_RIGHT[1] == OtherPawn &&
                LEFT_TO_RIGHT[2].IsEmpty &&
                LEFT_TO_RIGHT[3] == OwnPawn &&

                LEFT_TO_RIGHT[5] == OwnPawn &&
                LEFT_TO_RIGHT[6].IsEmpty &&
                LEFT_TO_RIGHT[7] == OtherPawn)
            {
                return(7);
            }
            if (LEFT_TO_RIGHT[2] == OtherPawn &&
                LEFT_TO_RIGHT[3].IsEmpty &&

                LEFT_TO_RIGHT[5] == OwnPawn &&
                LEFT_TO_RIGHT[6] == OwnPawn &&
                LEFT_TO_RIGHT[7].IsEmpty &&
                LEFT_TO_RIGHT[8] == OtherPawn)
            {
                return(7);
            }
            //*00#*
            if (LEFT_TO_RIGHT[1].IsEmpty &&
                LEFT_TO_RIGHT[2] == OwnPawn &&
                LEFT_TO_RIGHT[3] == OwnPawn &&

                LEFT_TO_RIGHT[5].IsEmpty)
            {
                return(10);
            }
            if (LEFT_TO_RIGHT[2].IsEmpty &&
                LEFT_TO_RIGHT[3] == OwnPawn &&

                LEFT_TO_RIGHT[5] == OwnPawn &&
                LEFT_TO_RIGHT[6].IsEmpty)
            {
                return(10);
            }
            if (LEFT_TO_RIGHT[3].IsEmpty &&

                LEFT_TO_RIGHT[5] == OwnPawn &&
                LEFT_TO_RIGHT[6] == OwnPawn &&
                LEFT_TO_RIGHT[7].IsEmpty)
            {
                return(10);
            }

            //特殊处理
            //*00#**
            if (LEFT_TO_RIGHT[0].IsEmpty &&
                LEFT_TO_RIGHT[1] == OwnPawn &&
                LEFT_TO_RIGHT[2] == OwnPawn &&
                LEFT_TO_RIGHT[3].IsEmpty &&
                LEFT_TO_RIGHT[5].IsEmpty)
            {
                return(9);
            }
            if (LEFT_TO_RIGHT[0].IsEmpty &&
                LEFT_TO_RIGHT[1] == OwnPawn &&
                LEFT_TO_RIGHT[2].IsEmpty &&
                LEFT_TO_RIGHT[3] == OwnPawn &&

                LEFT_TO_RIGHT[5].IsEmpty)
            {
                return(9);
            }
            if (LEFT_TO_RIGHT[1].IsEmpty &&
                LEFT_TO_RIGHT[2] == OwnPawn &&
                LEFT_TO_RIGHT[3].IsEmpty &&

                LEFT_TO_RIGHT[5] == OwnPawn &&
                LEFT_TO_RIGHT[6].IsEmpty)
            {
                return(9);
            }
            if (LEFT_TO_RIGHT[2].IsEmpty &&
                LEFT_TO_RIGHT[3] == OwnPawn &&

                LEFT_TO_RIGHT[5].IsEmpty &&
                LEFT_TO_RIGHT[6] == OwnPawn &&
                LEFT_TO_RIGHT[7].IsEmpty)
            {
                return(9);
            }
            if (LEFT_TO_RIGHT[3].IsEmpty &&
                LEFT_TO_RIGHT[5].IsEmpty &&
                LEFT_TO_RIGHT[6] == OwnPawn &&
                LEFT_TO_RIGHT[7] == OwnPawn &&
                LEFT_TO_RIGHT[8].IsEmpty)
            {
                return(9);
            }
            if (LEFT_TO_RIGHT[3].IsEmpty &&
                LEFT_TO_RIGHT[5] == OwnPawn &&
                LEFT_TO_RIGHT[6].IsEmpty &&
                LEFT_TO_RIGHT[7] == OwnPawn &&
                LEFT_TO_RIGHT[8].IsEmpty)
            {
                return(9);
            }
            //三子一头空==================================================
            //100#**
            if (LEFT_TO_RIGHT[1] == OtherPawn &&
                LEFT_TO_RIGHT[2] == OwnPawn &&
                LEFT_TO_RIGHT[3] == OwnPawn &&

                LEFT_TO_RIGHT[5].IsEmpty &&
                LEFT_TO_RIGHT[6].IsEmpty)
            {
                return(8);
            }
            if (LEFT_TO_RIGHT[2] == OtherPawn &&
                LEFT_TO_RIGHT[3] == OwnPawn &&

                LEFT_TO_RIGHT[5] == OwnPawn &&
                LEFT_TO_RIGHT[6].IsEmpty &&
                LEFT_TO_RIGHT[7].IsEmpty)
            {
                return(8);
            }
            if (LEFT_TO_RIGHT[3] == OtherPawn &&

                LEFT_TO_RIGHT[5] == OwnPawn &&
                LEFT_TO_RIGHT[6] == OwnPawn &&
                LEFT_TO_RIGHT[7].IsEmpty &&
                LEFT_TO_RIGHT[8].IsEmpty)
            {
                return(8);
            }
            if (LEFT_TO_RIGHT[0].IsEmpty &&
                LEFT_TO_RIGHT[1].IsEmpty &&
                LEFT_TO_RIGHT[2] == OwnPawn &&
                LEFT_TO_RIGHT[3] == OwnPawn &&

                LEFT_TO_RIGHT[5] == OtherPawn)
            {
                return(8);
            }
            if (LEFT_TO_RIGHT[1].IsEmpty &&
                LEFT_TO_RIGHT[2].IsEmpty &&
                LEFT_TO_RIGHT[3] == OwnPawn &&

                LEFT_TO_RIGHT[5] == OwnPawn &&
                LEFT_TO_RIGHT[6] == OtherPawn)
            {
                return(8);
            }
            if (LEFT_TO_RIGHT[2].IsEmpty &&
                LEFT_TO_RIGHT[3].IsEmpty &&

                LEFT_TO_RIGHT[5] == OwnPawn &&
                LEFT_TO_RIGHT[6] == OwnPawn &&
                LEFT_TO_RIGHT[7] == OtherPawn)
            {
                return(8);
            }
            //100*#*
            if (LEFT_TO_RIGHT[0] == OtherPawn &&
                LEFT_TO_RIGHT[1] == OwnPawn &&
                LEFT_TO_RIGHT[2] == OwnPawn &&
                LEFT_TO_RIGHT[3].IsEmpty &&

                LEFT_TO_RIGHT[5].IsEmpty)
            {
                return(7);
            }
            if (LEFT_TO_RIGHT[0] == OtherPawn &&
                LEFT_TO_RIGHT[1] == OwnPawn &&
                LEFT_TO_RIGHT[2].IsEmpty &&
                LEFT_TO_RIGHT[3] == OwnPawn &&

                LEFT_TO_RIGHT[5].IsEmpty)
            {
                return(7);
            }
            if (LEFT_TO_RIGHT[1] == OtherPawn &&
                LEFT_TO_RIGHT[2] == OwnPawn &&
                LEFT_TO_RIGHT[3].IsEmpty &&

                LEFT_TO_RIGHT[5] == OwnPawn &&
                LEFT_TO_RIGHT[6].IsEmpty)
            {
                return(7);
            }
            if (LEFT_TO_RIGHT[2] == OtherPawn &&
                LEFT_TO_RIGHT[3] == OwnPawn &&

                LEFT_TO_RIGHT[5].IsEmpty &&
                LEFT_TO_RIGHT[6] == OwnPawn &&
                LEFT_TO_RIGHT[7].IsEmpty)
            {
                return(7);
            }
            if (LEFT_TO_RIGHT[3] == OtherPawn &&
                LEFT_TO_RIGHT[5].IsEmpty &&

                LEFT_TO_RIGHT[6] == OwnPawn &&
                LEFT_TO_RIGHT[7] == OwnPawn &&
                LEFT_TO_RIGHT[8].IsEmpty)
            {
                return(7);
            }
            if (LEFT_TO_RIGHT[3] == OtherPawn &&

                LEFT_TO_RIGHT[5] == OwnPawn &&
                LEFT_TO_RIGHT[6].IsEmpty &&
                LEFT_TO_RIGHT[7] == OwnPawn &&
                LEFT_TO_RIGHT[8].IsEmpty)
            {
                return(7);
            }


            if (LEFT_TO_RIGHT[0].IsEmpty &&
                LEFT_TO_RIGHT[1] == OwnPawn &&
                LEFT_TO_RIGHT[2] == OwnPawn &&
                LEFT_TO_RIGHT[3].IsEmpty &&
                LEFT_TO_RIGHT[5] == OtherPawn)
            {
                return(7);
            }
            if (LEFT_TO_RIGHT[0].IsEmpty &&
                LEFT_TO_RIGHT[1] == OwnPawn &&
                LEFT_TO_RIGHT[3] == OwnPawn &&
                LEFT_TO_RIGHT[2].IsEmpty &&
                LEFT_TO_RIGHT[5] == OtherPawn)
            {
                return(7);
            }
            if (LEFT_TO_RIGHT[1].IsEmpty &&
                LEFT_TO_RIGHT[2] == OwnPawn &&
                LEFT_TO_RIGHT[5] == OwnPawn &&
                LEFT_TO_RIGHT[3].IsEmpty &&
                LEFT_TO_RIGHT[6] == OtherPawn)
            {
                return(7);
            }
            if (LEFT_TO_RIGHT[2].IsEmpty &&
                LEFT_TO_RIGHT[3] == OwnPawn &&
                LEFT_TO_RIGHT[6] == OwnPawn &&
                LEFT_TO_RIGHT[5].IsEmpty &&
                LEFT_TO_RIGHT[7] == OtherPawn)
            {
                return(7);
            }
            if (LEFT_TO_RIGHT[3].IsEmpty &&
                LEFT_TO_RIGHT[6] == OwnPawn &&
                LEFT_TO_RIGHT[7] == OwnPawn &&
                LEFT_TO_RIGHT[5].IsEmpty &&
                LEFT_TO_RIGHT[8] == OtherPawn)
            {
                return(7);
            }
            if (LEFT_TO_RIGHT[3].IsEmpty &&
                LEFT_TO_RIGHT[5] == OwnPawn &&
                LEFT_TO_RIGHT[7] == OwnPawn &&
                LEFT_TO_RIGHT[6].IsEmpty &&
                LEFT_TO_RIGHT[8] == OtherPawn)
            {
                return(7);
            }
            //特殊状态的冲三
            //#**00
            if (LEFT_TO_RIGHT[7] == OwnPawn &&
                LEFT_TO_RIGHT[8] == OwnPawn &&
                LEFT_TO_RIGHT[5].IsEmpty &&
                LEFT_TO_RIGHT[6].IsEmpty)
            {
                return(7);
            }
            if (LEFT_TO_RIGHT[0] == OwnPawn &&
                LEFT_TO_RIGHT[1] == OwnPawn &&
                LEFT_TO_RIGHT[2].IsEmpty &&
                LEFT_TO_RIGHT[3].IsEmpty)
            {
                return(7);
            }
            //三子两头堵====================================
            //100#1
            if (LEFT_TO_RIGHT[1] == OtherPawn &&
                LEFT_TO_RIGHT[2] == OwnPawn &&
                LEFT_TO_RIGHT[3] == OwnPawn &&

                LEFT_TO_RIGHT[5] == OtherPawn)
            {
                return(0);
            }
            if (LEFT_TO_RIGHT[2] == OtherPawn &&
                LEFT_TO_RIGHT[3] == OwnPawn &&

                LEFT_TO_RIGHT[5] == OwnPawn &&
                LEFT_TO_RIGHT[6] == OtherPawn)
            {
                return(0);
            }
            if (LEFT_TO_RIGHT[3] == OtherPawn &&

                LEFT_TO_RIGHT[5] == OwnPawn &&
                LEFT_TO_RIGHT[6] == OwnPawn &&
                LEFT_TO_RIGHT[7] == OtherPawn)
            {
                return(0);
            }

            //两子两头空==========================================
            //0*0*#*
            if (LEFT_TO_RIGHT[0] == OwnPawn &&
                LEFT_TO_RIGHT[1].IsEmpty &&
                LEFT_TO_RIGHT[2] == OwnPawn &&
                LEFT_TO_RIGHT[3].IsEmpty &&
                LEFT_TO_RIGHT[5].IsEmpty)
            {
                return(6);
            }
            if (LEFT_TO_RIGHT[3].IsEmpty &&
                LEFT_TO_RIGHT[6] == OwnPawn &&
                LEFT_TO_RIGHT[5].IsEmpty &&
                LEFT_TO_RIGHT[7].IsEmpty &&
                LEFT_TO_RIGHT[8] == OwnPawn)
            {
                return(6);
            }
            //*1#*
            if (LEFT_TO_RIGHT[2].IsEmpty &&
                LEFT_TO_RIGHT[3] == OwnPawn &&
                LEFT_TO_RIGHT[5].IsEmpty)
            {
                return(5);
            }
            if (LEFT_TO_RIGHT[3].IsEmpty &&
                LEFT_TO_RIGHT[5] == OwnPawn &&
                LEFT_TO_RIGHT[6].IsEmpty)
            {
                return(5);
            }
            if (LEFT_TO_RIGHT[1].IsEmpty &&
                LEFT_TO_RIGHT[2] == OwnPawn &&
                LEFT_TO_RIGHT[3].IsEmpty &&
                LEFT_TO_RIGHT[5].IsEmpty)
            {
                return(5);
            }
            if (LEFT_TO_RIGHT[3].IsEmpty &&
                LEFT_TO_RIGHT[6] == OwnPawn &&
                LEFT_TO_RIGHT[5].IsEmpty &&
                LEFT_TO_RIGHT[7].IsEmpty)
            {
                return(5);
            }
            if (LEFT_TO_RIGHT[0].IsEmpty &&
                LEFT_TO_RIGHT[1] == OwnPawn &&
                LEFT_TO_RIGHT[2].IsEmpty &&
                LEFT_TO_RIGHT[3].IsEmpty &&
                LEFT_TO_RIGHT[5].IsEmpty)
            {
                return(5);
            }
            if (LEFT_TO_RIGHT[3].IsEmpty &&
                LEFT_TO_RIGHT[7] == OwnPawn &&
                LEFT_TO_RIGHT[6].IsEmpty &&
                LEFT_TO_RIGHT[5].IsEmpty &&
                LEFT_TO_RIGHT[8].IsEmpty)
            {
                return(5);
            }
            //两子一头空==============================================
            //10#*
            if (LEFT_TO_RIGHT[2] == OtherPawn &&
                LEFT_TO_RIGHT[3] == OwnPawn &&
                LEFT_TO_RIGHT[5].IsEmpty)
            {
                return(4);
            }
            if (LEFT_TO_RIGHT[3] == OtherPawn &&
                LEFT_TO_RIGHT[5] == OwnPawn &&
                LEFT_TO_RIGHT[6].IsEmpty)
            {
                return(4);
            }
            if (LEFT_TO_RIGHT[2].IsEmpty &&
                LEFT_TO_RIGHT[3] == OwnPawn &&
                LEFT_TO_RIGHT[5] == OtherPawn)
            {
                return(4);
            }
            if (LEFT_TO_RIGHT[3].IsEmpty &&
                LEFT_TO_RIGHT[5] == OwnPawn &&
                LEFT_TO_RIGHT[6] == OtherPawn)
            {
                return(4);
            }
            //1#*0*
            if (LEFT_TO_RIGHT[3] == OtherPawn &&
                LEFT_TO_RIGHT[6] == OwnPawn &&
                LEFT_TO_RIGHT[5].IsEmpty &&
                LEFT_TO_RIGHT[7].IsEmpty)
            {
                return(3);
            }
            if (LEFT_TO_RIGHT[1] == OtherPawn &&
                LEFT_TO_RIGHT[2] == OwnPawn &&
                LEFT_TO_RIGHT[3].IsEmpty &&
                LEFT_TO_RIGHT[5].IsEmpty)
            {
                return(3);
            }
            if (LEFT_TO_RIGHT[5] == OtherPawn &&
                LEFT_TO_RIGHT[2] == OwnPawn &&
                LEFT_TO_RIGHT[3].IsEmpty &&
                LEFT_TO_RIGHT[1].IsEmpty)
            {
                return(3);
            }
            if (LEFT_TO_RIGHT[7] == OtherPawn &&
                LEFT_TO_RIGHT[6] == OwnPawn &&
                LEFT_TO_RIGHT[5].IsEmpty &&
                LEFT_TO_RIGHT[3].IsEmpty)
            {
                return(3);
            }
            //两子两头堵10#1
            if (LEFT_TO_RIGHT[2] == OtherPawn &&
                LEFT_TO_RIGHT[3] == OwnPawn &&
                LEFT_TO_RIGHT[5] == OtherPawn)
            {
                return(0);
            }
            if (LEFT_TO_RIGHT[3] == OtherPawn &&
                LEFT_TO_RIGHT[5] == OwnPawn &&
                LEFT_TO_RIGHT[6] == OtherPawn)
            {
                return(0);
            }
            //一子两头空*#*
            if (LEFT_TO_RIGHT[3].IsEmpty &&
                LEFT_TO_RIGHT[5].IsEmpty)
            {
                return(1);
            }
            //一子一头空1#*
            if (LEFT_TO_RIGHT[3] == OtherPawn &&
                LEFT_TO_RIGHT[5].IsEmpty)
            {
                return(2);
            }
            if (LEFT_TO_RIGHT[3].IsEmpty &&
                LEFT_TO_RIGHT[5] == OtherPawn)
            {
                return(2);
            }
            //一子两头堵1#1
            if (LEFT_TO_RIGHT[3] == OtherPawn &&
                LEFT_TO_RIGHT[5] == OtherPawn)
            {
                return(0);
            }
            return(1);
        }