コード例 #1
0
        private void TestStrategy(IPlacementStrategy strategy, int expectPiecesPlaced)
        {
            var pieces = new PieceCollection();

            pieces.Populate(SimulationHelpers.GetRandomPieces(1));
            int placed = 0;

            var board = new BoardState();

            for (var i = 0; i < pieces.Count; i++)
            {
                if (strategy.TryPlacePiece(board, PieceDefinition.AllPieceDefinitions[pieces[i]], in pieces, i + 1, out var bitmap, out var x, out var y))
                {
                    placed++;
                    board.Place(bitmap, x, y);
                }
コード例 #2
0
 public void PlacePiece(SimulationState state)
 {
     if (_strategy.TryPlacePiece(state.PlayerBoardState[state.PieceToPlacePlayer], state.PieceToPlace, in state.Pieces, state.NextPieceIndex, out var bitmap, out var x, out var y))
     {
         state.PerformPlacePiece(bitmap, x, y);
     }