using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using CzokoŚmieciarka.DataModels.Interfaces.TrashCans; using CzokoŚmieciarka.DataModels.Models; namespace CzokoŚmieciarka.DataModels.Interfaces.GarbageCollector { public abstract class AGarbageCollector : IGarbageCollector { public AGarbageCollector(Coords startPosition, IEnumerable trashContainers) { this.Position = startPosition; this.TrashContainers = trashContainers; } public Coords Position { get; set; } public Coords MoveUp() { return new Coords(Position.X,Position.Y+1); } public Coords MoveDown() { return new Coords(Position.X, Position.Y - 1); } public Coords MoveLeft() { return new Coords(Position.X-1, Position.Y); } public Coords MoveRight() { return new Coords(Position.X+1, Position.Y); } public object Clone() { return this.MemberwiseClone(); } public IEnumerable TrashContainers { get; } } }