public void IsHandleTest() { Truck paperTruck = new Truck(TrashType.Paper,100,1.0f); Truck organicTruck = new Truck(TrashType.Organic, 100, 1.0f); Assert.IsTrue(paperTruck.CanHandle(TrashType.Paper)); Assert.IsFalse(paperTruck.CanHandle(TrashType.Metal)); Assert.IsTrue(organicTruck.CanHandle(TrashType.Paper)); Assert.IsTrue(organicTruck.CanHandle(TrashType.Plastic)); Assert.IsTrue(organicTruck.CanHandle(TrashType.Organic)); Assert.IsFalse(organicTruck.CanHandle(TrashType.Metal)); }
public Game( IMapTile[][] cityMap ) { City = new City(cityMap); _currentDate = Trash2012Begin; Company = new Company(); var newTruck1 = new Truck(TrashType.Paper, 25, 1f); var newTruck2 = new Truck(TrashType.Paper, 25, 1f); Company.Trucks.Add(newTruck1); Company.Trucks.Add(newTruck2); GameRandomness = new Random(); }
public Game( IMapTile[][] cityMap, int initialMoneyAmount ) { City = new City(cityMap); _currentDate = Trash2012Begin; Company = new Company(initialMoneyAmount); var newTruck1 = new Truck(TrashType.Paper, 50, 1f); //var newTruck2 = new Truck(TrashType.Paper, 55, 1f); Company.Trucks.Add(newTruck1); //Company.Trucks.Add(newTruck2); GameRandomness = new Random(); }
/// <summary> /// Apply a travel to a game city /// </summary> /// <param name="dailyTravel">truck travel</param> /// <param name="assignedTruck">truck</param> /// <returns>total collected garbage</returns> public int ApplyTravel(Travel dailyTravel, Truck assignedTruck) { int garbageAccumulation = 0; foreach (var tile in dailyTravel) { if (assignedTruck.IsFull) break; if (tile.ModelTile is IHouseTile) { var tilHouse = tile.ModelTile as IHouseTile; var trashAmount = tilHouse.Garbage.Amount; if (trashAmount > 0) { var collectedGarbage = assignedTruck.Swallow(tilHouse.Garbage); garbageAccumulation += collectedGarbage; tilHouse.Garbage = new Trash( tilHouse.Garbage.Type, tilHouse.Garbage.Amount - collectedGarbage ); } } } return garbageAccumulation; }