Пример #1
0
        /// <summary>
        /// Vérification du prochain mouvement de visiteurs et applique l'image approprié
        /// </summary>
        public void DeplacementVisiteur()
        {
            int direction = rand.Next(1, 5);

            switch (direction)
            {
            case 1:     //Droite
                if (X + 1 < TabAjout.GetLength(0) - 1)
                {
                    if (VerifDeplacementObstacleDroite(TabAjout))
                    {
                        if (!VerifAucuneObstacle(X + 1, Y))
                        {
                            X          += 1;
                            Orientation = "DROITE";
                        }
                    }
                }
                break;

            case 2:     //Gauche
                if (X - 1 > -1)
                {
                    if (VerifDeplacementObstacleGauche(TabAjout))
                    {
                        if (!VerifAucuneObstacle(X - 1, Y))
                        {
                            X          -= 1;
                            Orientation = "GAUCHE";
                        }
                    }
                }

                break;

            case 3:     //Haut
                if (Y - 1 > -1)
                {
                    if (VerifDeplacementObstacleHaut(TabAjout))
                    {
                        if (!VerifAucuneObstacle(X, Y - 1))
                        {
                            Y          -= 1;
                            Orientation = "HAUT";
                        }
                    }
                }

                break;

            case 4:     //Bas
                if (Y + 1 < TabAjout.GetLength(1) - 1)
                {
                    if (VerifDeplacementObstacleBas(TabAjout))
                    {
                        if (!VerifAucuneObstacle(X, Y + 1))
                        {
                            Y          += 1;
                            Orientation = "BAS";
                        }
                    }
                }
                break;
            }
        }
Пример #2
0
        /// <summary>
        /// Déplacement du concierge
        /// </summary>
        public void DeplacementConcierge()
        {
            int direction = rand.Next(1, 5);

            switch (direction)
            {
            case 1:     //Droite
                if (X + 1 < TabAjout.GetLength(0) - 1)
                {
                    if (TabAjout[X + 1, Y] == asphalte)
                    {
                        if (!VerifAucuneObstacle(X + 1, Y))
                        {
                            X          += 1;
                            Orientation = "DROITE";
                        }
                    }
                }
                break;

            case 2:     //Gauche
                if (X - 1 > -1)
                {
                    if (TabAjout[X - 1, Y] == asphalte)
                    {
                        if (!VerifAucuneObstacle(X - 1, Y))
                        {
                            X          -= 1;
                            Orientation = "GAUCHE";
                        }
                    }
                }

                break;

            case 3:     //Haut
                if (Y - 1 > -1)
                {
                    if (TabAjout[X, Y - 1] == asphalte)
                    {
                        if (!VerifAucuneObstacle(X, Y - 1))
                        {
                            Y          -= 1;
                            Orientation = "HAUT";
                        }
                    }
                }

                break;

            case 4:     //Bas
                if (Y + 1 < TabAjout.GetLength(1) - 1)
                {
                    if (TabAjout[X, Y + 1] == asphalte)
                    {
                        if (!VerifAucuneObstacle(X, Y + 1))
                        {
                            Y          += 1;
                            Orientation = "BAS";
                        }
                    }
                }
                break;
            }
            _listeDechet = EnleverDechet(X, Y);
        }