internal void DoPromotion(byte position, ZNPieceType newType) { ZNPiece piece = piecesInternal[position]; if (piece.Type != ZNPieceType.EPawn) { throw new ArgumentException("This is not a pawn!"); } piecesInternal[position] = new ZNPiece(piece.Color, newType, position); }
internal ZNPiece(ZNColor color, ZNPieceType type, byte position) { colorInternal = color; typeInternal = type; positionInternal = position; }
internal ZNPiece(byte position) { colorInternal = ZNColor.EEmpty; typeInternal = ZNPieceType.EEmpty; positionInternal = position; }