/// <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(); }
/// <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(); }
/// <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; }