Esempio n. 1
0
 public Piece(Control parent, PieceId id, bool inverted)
 {
     this.inverted = inverted;
     Name = (Id = id).ToString();
     ui.Load(fol + (id.Black ? "b" : "w") + id.Who.ToString() + "46.gif");
     parent.Controls.Add(ui);
     ui.BringToFront();
     ui.MouseDown += new MouseEventHandler(ui_MouseDown);
     ui.MouseUp += new MouseEventHandler(ui_MouseUp);
     ui.MouseMove += new MouseEventHandler(ui_MouseMove);
 }
Esempio n. 2
0
        private bool TryAddSquare(Square s, int x, int y, PieceId piece, bool pawnForward, bool pawnSide)
        {
            int newX = s.X + x, newY = s.Y + y;
            if (newX > 8 || newX < 1 || newY > 8 || newY < 1)
                return false;

            Square sq = squares[newX, newY];

            if (pawnSide && (sq.Piece.HasValue == false || sq.Piece.Value.Black == piece.Black))
                return false; //if pawn & sideways, should not be blank or same color

            if (sq.Piece.HasValue && (pawnForward || sq.Piece.Value.Black == piece.Black))
                return false; //blocked by same color / any is pawn going forward

            o.Add(sq);
            return true;
        }