예제 #1
0
        /*public static bool Chozen_dispose(object sender, Chess[][] checkerboard)
         * {
         *  Chess.chosen = false;
         *  int x = Getx(sender);
         *  int y = Gety(sender);
         *  if (checkerboard[chosenX][chosenY].side == checkerboard[x][y].side)//移动位置与选择位是同一阵营
         *  {
         *      checkerboard[chosenX][chosenY].Bg_Toblank();
         *      return false;
         *  }
         *  if (checkerboard[chosenX][chosenY].side == player_type.blank)//选中的是空白
         *      return false;
         *  if (checkerboard[chosenX][chosenY].type == chess_type.ma || checkerboard[chosenX][chosenY].type == chess_type.xiang || checkerboard[chosenX][chosenY].type == chess_type.shi)//马象士的移动不能同y或同x
         *  {
         *      if (chosenX == x || chosenY == y)
         *      {
         *          checkerboard[chosenX][chosenY].Bg_Toblank();
         *          return false;
         *      }
         *  }
         *  else
         *  {
         *      if (chosenX != x && chosenY != y)//其他棋类都必须同x或同y移动
         *      {
         *          checkerboard[chosenX][chosenY].Bg_Toblank();
         *          return false;
         *      }
         *  }
         *
         *  if (!checkerboard[chosenX][chosenY].Move_judge(sender, x, y, checkerboard))
         *  {
         *      checkerboard[chosenX][chosenY].Bg_Toblank();
         *      return false;
         *  }
         *  if (Chess.Setmove(checkerboard, x, y))
         *      return true;
         *  else
         *      return false;
         * }*/
        static bool Setmove(Chess[][] checkerboard, int X, int Y)
        {
            n++;
            bool        over = false;
            player_type z    = player_type.blank;

            if (checkerboard[X][Y].type == chess_type.jiang)
            {
                over = true;
                z    = checkerboard[X][Y].side;
            }
            Chess.Change(ref checkerboard[Chess.chosenX][Chess.chosenY], ref checkerboard[X][Y]);
            Chess.chosen = false;
            if (over)
            {
                if (z == player_type.blue)
                {
                    MessageBox.Show("红方胜利");
                }
                else
                {
                    MessageBox.Show("蓝方胜利");
                }
                return(true);
            }
            if (n % 2 == 0)
            {
                Chess.control_side = player_type.blue;
            }
            else
            {
                Chess.control_side = player_type.red;
            }
            return(false);
        }
예제 #2
0
 public Chess()
 {
     side = player_type.blank;
     type = chess_type.blank;
     PB.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
     PB.Size      = new System.Drawing.Size(76, 76);
     PB.BackColor = System.Drawing.Color.Transparent;
 }
예제 #3
0
 public Chess_zu(player_type b)
 {
     base.type = chess_type.zu;
     base.side = b;
 }
예제 #4
0
 public Chess_shi(player_type b)
 {
     base.type = chess_type.shi;
     base.side = b;
 }
예제 #5
0
 public Chess_jiang(player_type b)
 {
     base.type = chess_type.jiang;
     base.side = b;
 }
예제 #6
0
 public Chess_pao(player_type b)
 {
     base.type = chess_type.pao;
     base.side = b;
 }
예제 #7
0
 public Chess_ma(player_type b)
 {
     base.type = chess_type.ma;
     base.side = b;
 }
예제 #8
0
 public Chess_che(player_type b)
 {
     base.type = chess_type.che;
     base.side = b;
 }