Ejemplo n.º 1
0
 public CartesianMap(IReadOnlyCartesianMap <T> shallowCopy)
 {
     Width  = shallowCopy.Width;
     Height = shallowCopy.Height;
     Size   = shallowCopy.Size;
     inner  = new T[shallowCopy.Width, shallowCopy.Height];
     foreach (var(p, v) in shallowCopy.ForEach())
     {
         inner[p.X, p.Y] = v;
     }
 }
Ejemplo n.º 2
0
        public static bool Contains <T>(this IReadOnlyCartesianMap <T> map, VectorInt2 p)
        {
            if (map is SparseCartesianMap <T> sp)
            {
                return(sp.Contains(p));
            }

            if (p.X < 0 || p.Y < 0)
            {
                return(false);
            }
            if (p.X >= map.Width || p.Y >= map.Height)
            {
                return(false);
            }
            return(true);
        }
Ejemplo n.º 3
0
 private Puzzle(IReadOnlyCartesianMap <CellDefinition <char> > map, CellDefinition <char> .Set definition) : base(map, definition)
 {
 }
Ejemplo n.º 4
0
 public static int Count <T>(this IReadOnlyCartesianMap <T> map, T instance) => Enumerable.Count(map.ForEach(), x => object.Equals(instance, x.Value));