public bool Contains(Enums.PieceType type, Position pos) { foreach (var item in _pieces) { if (item.PieceType.Equals(type) && item.Position.Equals(pos)) { return(true); } } return(false); }
public static Piece Creator(Enums.PieceType type, Position pos) { switch (type) { case Enums.PieceType.WhiteKing: return(new PieceKing(Enums.GameSide.White, pos)); case Enums.PieceType.WhiteQueen: return(new PieceQueen(Enums.GameSide.White, pos)); case Enums.PieceType.WhiteRook: return(new PieceRook(Enums.GameSide.White, pos)); case Enums.PieceType.WhiteBishop: return(new PieceBishop(Enums.GameSide.White, pos)); case Enums.PieceType.WhiteKnight: return(new PieceKnight(Enums.GameSide.White, pos)); case Enums.PieceType.WhitePawn: return(new PiecePawn(Enums.GameSide.White, pos)); case Enums.PieceType.BlackKing: return(new PieceKing(Enums.GameSide.Black, pos)); case Enums.PieceType.BlackQueen: return(new PieceQueen(Enums.GameSide.Black, pos)); case Enums.PieceType.BlackRook: return(new PieceRook(Enums.GameSide.Black, pos)); case Enums.PieceType.BlackBishop: return(new PieceBishop(Enums.GameSide.Black, pos)); case Enums.PieceType.BlackKnight: return(new PieceKnight(Enums.GameSide.Black, pos)); case Enums.PieceType.BlackPawn: return(new PiecePawn(Enums.GameSide.Black, pos)); case Enums.PieceType.None: case Enums.PieceType.AllKings: case Enums.PieceType.AllQueens: case Enums.PieceType.AllRooks: case Enums.PieceType.AllBishops: case Enums.PieceType.AllKnights: case Enums.PieceType.AllPawns: case Enums.PieceType.All: default: throw new PieceException(string.Format(ExString.PieceTypeIsError, type.ToString())); } }
public virtual bool TryGetPiece(int dot, out Enums.PieceType pieceType) { char c = this.GetByPosition(dot); if (c.Equals('1')) { pieceType = Enums.PieceType.None; return(false); } else {//有棋子 pieceType = Enums.ToPieceType(c); return(true); } }
internal static Image GetPieceImage(Enums.PieceType chessmanType) { return(PieceImages[chessmanType]); }