示例#1
0
        /// <summary>
        /// Redemarrer une partie au complet en resettant le score
        /// </summary>
        internal void RéinitialiserPartie()
        {
            RedessinerMur();
            Compteur          = 0;
            Score             = 0;
            m_cptPointPourVie = 1;
            Niveau            = 1;
            RéinitialiserPositions();
            m_listeFantômesActifs.Clear();
            MurDejaDessiner  = false;
            Grille           = new GrilleJeu(false);
            m_cptFruit       = FrameRateValue * 2;
            m_nbVies         = 3;
            m_cptAction      = 0;
            m_cptFantômePeur = 0;

            m_listeFantômesMangers.Clear();
            m_cptFantômesMorts = 0;

            int vitesseAnimation = 50 + Niveau;

            FrameRate(vitesseAnimation <= 100 ? vitesseAnimation : 100); // le taux de rafraichissement va affecter la difficulte (rapidite animation)

            RemplirFruits();
        }
示例#2
0
        /// <summary>
        /// Permet de remettre certain elements a 0 mais d'augmenter le niveau
        /// et de faire une nouvelle partie
        /// </summary>
        internal void ProchainNiveau()
        {
            RedessinerMur();
            m_cptFruit = FrameRateValue * 2;
            Compteur   = 0;
            Niveau++;
            RéinitialiserPositions();
            Grille           = new GrilleJeu(false);
            m_cptAction      = 0;
            m_cptFantômePeur = 0;
            m_listeFantômesActifs.Clear();
            m_listeFantômesMangers.Clear();
            m_cptFantômesMorts = 0;

            int vitesseAnimation = 50 + Niveau;

            FrameRate(vitesseAnimation <= 100 ? vitesseAnimation : 100); // le taux de rafraichissement va affecter la difficulte (rapidite animation)

            RemplirFruits();
        }
示例#3
0
        /// <summary>
        /// Constructeur par defaut d'une partie, va instancier tout les elements
        /// necessaire a la partie
        /// </summary>
        private Partie()
        {
            FrameRate(50);
            Score             = 0;
            Record            = 0;
            m_cptPointPourVie = 1;
            m_nbVies          = 3;
            Grille            = new GrilleJeu(false);

            Pacman = new PacMan(new Coordonnée(CentreX, Grille.TrouverCoordonnéeCase(0, 17).Y));

            m_listeFantômes        = new List <Fantôme>();
            m_listeFantômesActifs  = new List <Fantôme>();
            m_listeFantômesMangers = new Queue <Fantôme>();
            m_listeFruits          = new Queue <FruitAnimable>();
            m_fruitActif           = null;
            m_cptFantômesMorts     = 0;

            Blinky = new Fantôme(Grille.TrouverCoordonnéeCase(12, 13), CouleurFantôme.Blinky);
            Pinky  = new Fantôme(Grille.TrouverCoordonnéeCase(17, 13), CouleurFantôme.Pinky);
            Inky   = new Fantôme(Grille.TrouverCoordonnéeCase(12, 15), CouleurFantôme.Inky);
            Clyde  = new Fantôme(Grille.TrouverCoordonnéeCase(17, 15), CouleurFantôme.Clyde);

            m_listeFantômes.AddRange(new[] { Blinky, Pinky, Inky, Clyde });

            m_comportementFruit = new ComportementClyde(); // Les fruits vont avoir le meme comportement que Clyde (Aleatoire)

            m_ia = new IntelligenceArtificielle();

            MurDejaDessiner = false;

            Niveau = 1;

            m_cptAction      = 0;
            m_cptFantômePeur = 0;
            m_cptFruit       = FrameRateValue * 2;
        }