// Robbie vraagt of iemand anders al naar zijn bestemming gaat public override bool Equals(object obj) { // Kijk of robbie met robots aan het praten is if (obj.GetType() == typeof(Robots)) { Robots r = (Robots)obj; return(r.xPos == this.xPos & r.yPos == this.yPos); } return(false); }
public bool RobotExistsInTrain(List <Robots> train, Robots robot) { for (int ii = 0; ii < train.Count; ii++) { if (train[ii].Equals(robot)) { return(true); } } return(false); }
// Het treintje rijdt rond in de fabriek en zet de robots op een plek neer. // Deze plek kan random zijn. Het ligt er aan hoe de programmeur zich voelt. public void DeployRobots(int nRobots, bool randomize) { train = new List <Robots>(); // Het treintje is leeg en moet gevuld worden for (int i = 0; i < nRobots; i++) { int robotIndex = (randomize) ? 0 : i; // Robbie zegt waar het naartoe gebracht wil worden Robots robbie = new Robots(this.height, this.width, randomize, robotIndex + 1); if (!RobotExistsInTrain(train, robbie) & !Bob.Equals(robbie))// Robbie vraagt of iemand anders al naar die plek wil { // Er zit niemand in de trein die daar ook naar toe wil en Robbie stapt in train.Add(robbie); } else { i--; // Er zat al een andere robot in de trein die naar dezelfde plek wil. } // Omdat robots hun eigen terretorium willen hebben, bedenkt Robbie opnieuw waar het naar toe wil } } // Het treintje zit vol en vertrekt naar de bestemmingen van de robots