예제 #1
0
 public CombineContainerPuzzle(BuildingBlock containerInput, BuildingBlock carryableInput, BuildingBlock nonCarryableInput)
     : base(new List<BuildingBlock>() { })
 {
     // Filter to generate a carryable container
     Dictionary<string, object> containerFilterProps = new Dictionary<string, object>();
     containerFilterProps["carryable"] = true;
     FilterBlock containerFilter = new FilterBlock(containerInput, containerFilterProps);
     // Filter to make sure the item in the container is not carryable
     Dictionary<string, object> carryableFilterProps = new Dictionary<string, object>();
     carryableFilterProps["carryable"] = false;
     FilterBlock carryableFilter = new FilterBlock(carryableInput, carryableFilterProps);
     // Filter to make sure the item not in the container is not carryable
     Dictionary<string, object> nonCarryableFilterProps = new Dictionary<string, object>();
     nonCarryableFilterProps["carryable"] = false;
     FilterBlock nonCarryableFilter = new FilterBlock(nonCarryableInput, nonCarryableFilterProps);
     InsertionPuzzle insertStep = new InsertionPuzzle(containerFilter, carryableFilter);
     _outputPuzzleMap = new CombinePuzzle(nonCarryableFilter, new UnboxingPuzzle(insertStep));
 }
예제 #2
0
        public CombineContainerPuzzle(BuildingBlock containerInput, BuildingBlock carryableInput, BuildingBlock nonCarryableInput) : base(new List <BuildingBlock>() { })
        {
            // Filter to generate a carryable container
            Dictionary <string, object> containerFilterProps = new Dictionary <string, object>();

            containerFilterProps["carryable"] = true;
            FilterBlock containerFilter = new FilterBlock(containerInput, containerFilterProps);
            // Filter to make sure the item in the container is not carryable
            Dictionary <string, object> carryableFilterProps = new Dictionary <string, object>();

            carryableFilterProps["carryable"] = false;
            FilterBlock carryableFilter = new FilterBlock(carryableInput, carryableFilterProps);
            // Filter to make sure the item not in the container is not carryable
            Dictionary <string, object> nonCarryableFilterProps = new Dictionary <string, object>();

            nonCarryableFilterProps["carryable"] = false;
            FilterBlock     nonCarryableFilter = new FilterBlock(nonCarryableInput, nonCarryableFilterProps);
            InsertionPuzzle insertStep         = new InsertionPuzzle(containerFilter, carryableFilter);

            _outputPuzzleMap = new CombinePuzzle(nonCarryableFilter, new UnboxingPuzzle(insertStep));
        }