List <Move> _GetMoves(Piece.pieceWork color) { List <Move> turnMove = new List <Move>(); List <Tile> pieces = new List <Tile>(); if (color == Piece.pieceWork.BWORK) { pieces = _blackPieces; } else if (color == Piece.pieceWork.WWORK) { pieces = _whitePieces; } foreach (Tile tile in pieces) { MoveFactory factory = new MoveFactory(_board); List <Move> pieceMoves = factory.GetMoves(tile.CurrentPiece, tile.Position); foreach (Move move in pieceMoves) { Move newMove = _CreateMove(move.firstPosition, move.secondPosition); turnMove.Add(newMove); } } return(turnMove); }
public int GetBoardWeight(Piece.pieceType type, Vector2 position, Piece.pieceWork color) { switch (type) { case Piece.pieceType.O: if (color == Piece.pieceWork.WWORK) { return(OBoardWeight [(int)position.x, (int)position.y]); } else if (color == Piece.pieceWork.BWORK) { return(OMirrorBoardWeight [(int)position.x, (int)position.y]); } else { return(-1); } case Piece.pieceType.X: if (color == Piece.pieceWork.WWORK) { return(XBoardWeight [(int)position.x, (int)position.y]); } else if (color == Piece.pieceWork.BWORK) { return(XMirrorBoardWeight [(int)position.x, (int)position.y]); } else { return(-1); } default: return(-1); } }