- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- namespace Patterns
- {
- class Program
- {
- static void Main(string[] args)
- {
- var pt = new PatternTree();
- // Register types.
- pt.Add(new ItemType[2, 1]
- {
- { ItemType.Flint },
- { ItemType.Wood }
- }, ItemType.Torch);
- pt.Add(new ItemType[1, 3]
- {
- { ItemType.Torch , ItemType.Torch, ItemType.Torch }
- }, ItemType.TorchFence);
- pt.Add(new ItemType[3, 3]
- {
- { ItemType.Wood , ItemType.Wood, ItemType.Wood },
- { ItemType.Wood , ItemType.Wood, ItemType.Wood },
- { ItemType.Wood , ItemType.Wood, ItemType.Wood }
- }, ItemType.WoodWall);
- // Test it out
- Console.WriteLine(pt[new ItemType[3, 3]
- {
- {ItemType.Nothing, ItemType.Nothing, ItemType.Flint },
- {ItemType.Nothing, ItemType.Nothing, ItemType.Wood },
- {ItemType.Nothing, ItemType.Nothing, ItemType.Nothing },
- }]);
- Console.WriteLine(pt[new ItemType[3, 3]
- {
- {ItemType.Nothing, ItemType.Nothing, ItemType.Nothing },
- {ItemType.Nothing, ItemType.Nothing, ItemType.Flint },
- {ItemType.Nothing, ItemType.Nothing, ItemType.Wood },
- }]);
- Console.WriteLine(pt[new ItemType[3, 3]
- {
- {ItemType.Torch, ItemType.Torch, ItemType.Torch },
- {ItemType.Nothing, ItemType.Nothing, ItemType.Nothing },
- {ItemType.Nothing, ItemType.Nothing, ItemType.Nothing },
- }]);
- Console.WriteLine(pt[new ItemType[3, 3]
- {
- { ItemType.Wood , ItemType.Wood, ItemType.Wood },
- { ItemType.Wood , ItemType.Wood, ItemType.Wood },
- { ItemType.Wood , ItemType.Wood, ItemType.Wood }
- }]);
- Console.WriteLine(pt[new ItemType[3, 3]
- {
- { ItemType.Wood , ItemType.Wood, ItemType.Nothing },
- { ItemType.Wood , ItemType.Wood, ItemType.Wood },
- { ItemType.Wood , ItemType.Wood, ItemType.Wood }
- }]);
- Console.ReadLine();
- }
- }
- }