コード例 #1
0
 // 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);
 }
コード例 #2
0
 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);
 }
コード例 #3
0
        // 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