private void trainSpawnTimer_Tick(object sender, EventArgs e)
        {
            if (random.Next(0, 2) == 0)
            {
                lastTrain = new RedTrain(new Point(223, 418));
                if (random.Next(5) == 0)
                {
                    lastTrain = new GreenTrain(new Point(223, 418));
                }
                lastTrain.FaceTo(new Point(223, 0));
            }
            else
            {
                lastTrain = new RedTrain(new Point(174, 0));
                if (random.Next(5) == 0)
                {
                    lastTrain = new GreenTrain(new Point(174, 0));
                }
                lastTrain.FaceTo(new Point(174, 418));
            }

            Intersection.AddRoadUser(lastTrain);

            trainSpawnTimer.Stop();
        }
Exemple #2
0
 /// <summary>
 /// Bepalen maakt een bocht op gegeven locatie
 /// </summary>
 /// <param name="roadUser"></param>de roaduser waar het om gaat</param>
 /// <param name="P"></param>het punt waar de roaduser zich bevind</param>
 /// <param name="X1"></param>de X van het punt waar de bocht plaatsvindt</param>
 /// <param name="Y1"></param>de Y van het punt waar de bocht plaatsvindt</param>
 /// <param name="X2"></param>de X van het punt waar de auto naar toe moet wijzen</param>
 /// <param name="Y2"></param>de Y van het punt waar de auto naar toe moet wijzen</param>
 protected virtual void Type4Turn(RoadUser roadUser, Point P, int turnLocationX, int turnLocationY, int faceX, int faceY)
 {
     if (P.X == turnLocationX && P.Y == turnLocationY)
     {
         roadUser.FaceTo(new Point(faceX, faceY));
     }
 }
Exemple #3
0
 protected override void Type4Turn(RoadUser roadUser, Point P, int X1, int Y1, int X2, int Y2)
 {
     if (P.X == X1 && P.Y <= Y1)
     {
         roadUser.FaceTo(new Point(X2, Y2));
     }
 }
Exemple #4
0
 /// <summary>
 /// Bepalen om een bocht te maken met een kans van 1 op 4
 /// </summary>
 /// <param name="roadUser">de roaduser waar het om gaat</param>
 /// <param name="P"> het punt waar de roaduser zich bevind</param>
 /// <param name="turnLocationX"> de X van het punt waar de bocht moet plaatsvinden</param>
 /// <param name="turnLocationY"> de Y van het punt waar de bocht moet plaatsvinden</param>
 /// <param name="faceX"> de X van het punt waar de auto naar toe moet wijzen indien hij een bocht maakt</param>
 /// <param name="faceY"> de Y van het punt waar de auto naar toe moet wijzen indien hij een bocht maakt</param>
 protected void Type3Turn(RoadUser roadUser, Point P, int turnLocationX, int turnLocationY, int faceX, int faceY)
 {
     if (P.X == turnLocationX && P.Y == turnLocationY)
     {
         if (random.Next(0, 3) == 1)
         {
             roadUser.FaceTo(new Point(faceX, faceY));
         }
     }
 }
Exemple #5
0
        /// <summary>
        /// methode die gebruikt wordt om roadUsers van het ene kruispunt naar het andere over te zetten
        /// </summary>
        /// <param name="roadUser">de roadUser waar het om gaat</param>
        /// <param name="leaveX">de X positie waar wordt gedetecteerd of een auto het kruispunt gaat verlaten</param>
        /// <param name="leaveY">de Y positie waar wordt gedetecteerd of een auto het kruispunt gaat verlaten</param>
        /// <param name="spawnX">de X positie waar de nieuwe roadUser wordt gemaakt</param>
        /// <param name="spawnY">de Y positie waar de nieuwe roadUser wordt gemaakt</param>
        /// <param name="faceToX">de X positie waarde nieuwe roadUser naar toe moet wijzen</param>
        /// <param name="faceToY">de Y positie waarde nieuwe roadUser naar toe moet wijzen</param>
        private void TransferCarMethod(RoadUser roadUser, int leaveX, int leaveY, int spawnX, int spawnY, int faceToX, int faceToY)
        {
            Point P = roadUser.Location;

            if (IntersectionBottom != null && P.X == leaveX && P.Y == 382)
            {
                RoadUser newRoadUser = pickCorrectRoadUser(roadUser, spawnX, spawnY);

                if (newRoadUser != null)
                {
                    newRoadUser.FaceTo(new Point(faceToX, faceToY));
                    IntersectionBottom.AddRoadUser(newRoadUser);
                }
            }
            else if (IntersectionLeft != null && P.X == 18 && P.Y == leaveY)
            {
                RoadUser newRoadUser = pickCorrectRoadUser(roadUser, spawnX, spawnY);

                if (newRoadUser != null)
                {
                    newRoadUser.FaceTo(new Point(faceToX, faceToY));
                    IntersectionLeft.AddRoadUser(newRoadUser);
                }
            }
            else if (IntersectionRight != null && P.X == 382 && P.Y == leaveY)
            {
                RoadUser newRoadUser = pickCorrectRoadUser(roadUser, spawnX, spawnY);

                if (newRoadUser != null)
                {
                    newRoadUser.FaceTo(new Point(faceToX, faceToY));
                    IntersectionRight.AddRoadUser(newRoadUser);
                }
            }
            else if (IntersectionTop != null && P.X == leaveX && P.Y == 18)
            {
                RoadUser newRoadUser = pickCorrectRoadUser(roadUser, spawnX, spawnY);

                if (newRoadUser != null)
                {
                    newRoadUser.FaceTo(new Point(faceToX, faceToY));
                    IntersectionTop.AddRoadUser(newRoadUser);
                }
            }
        }