public Jeu() { // Création de la barre barre = new Barre(); // Création de la boule boule = new Boule(); }
/// <summary> /// Déplace la balle à l'écran /// </summary> /// <param name="barre">L'objet représentant la barre</param> /// <returns>True si le joueur peut encore jouer, false si le joueur a perdu</returns> public bool Move(Barre barre) { // On teste si la limite X est atteinte if (m_X <= 0 || m_X >= m_MaxX) { InvertX(); } // on teste si la limite Y est atteinet if (m_Y <= 0) { InvertY(); } // on teste si la balle a touché la barre if (Collisions.IsCollided(new Rectangle(m_X, m_Y, Diametre, Diametre), new Rectangle(barre.X, barre.Y, barre.Width, barre.Y + 20))) { InvertY(); } // on teste si le joueur a perdu if (m_Y >= MaxY) { return(false); } // on calcule la nouvelle position de la balle m_X += m_OffsetX; m_Y += m_OffsetY; return(true); }
/// <summary> /// Est appelé lorsque l'application est en construction /// </summary> /// <param name="sender">L'objet qui a appelé</param> /// <param name="e">Ce que l'on peut utiliser</param> private void MainFrame_Load(object sender, EventArgs e) { if (!File.Exists(m_PauseImgFile)) { MessageBox.Show("L'image " + m_PauseImgFile + " n'a pas pu être chargée. Le programme doit être arrêté.", "Casse briques", MessageBoxButtons.OK, MessageBoxIcon.Error); this.Close(); } else { m_PauseImg = new Bitmap(m_PauseImgFile); } m_PauseImg.MakeTransparent(Color.FromArgb(0, 255, 255)); m_Barre = new Barre(); if (m_Barre.LoadImage(m_BarreImgFile, Color.FromArgb(0, 255, 255)) == false) { MessageBox.Show("L'image " + m_BarreImgFile + " n'a pas pu être chargée. Le programme doit être arrêté.", "Casse briques", MessageBoxButtons.OK, MessageBoxIcon.Error); this.Close(); } m_Balle = new Balle(); if (m_Balle.LoadImage(m_BalleImgFile, Color.FromArgb(0, 255, 255)) == false) { MessageBox.Show("L'image " + m_BalleImgFile + " n'a pas pu être chargée. Le programme doit être arrêté.", "Casse briques", MessageBoxButtons.OK, MessageBoxIcon.Error); this.Close(); } m_Balle.X = (pbDisplayer.Width / 2) - (m_Balle.Diametre / 2); m_Balle.Y = (pbDisplayer.Height / 2) - (m_Balle.Diametre / 2); m_Balle.MaxX = pbDisplayer.Width - m_Balle.Diametre; m_Balle.MaxY = pbDisplayer.Height - m_Balle.Diametre; for (int i = 0; i < 10; ++i) { for (int j = 0; j < 5; ++j) { m_Briques[i, j] = new Briques(); if (m_Briques[i, j].LoadImage(m_BriquesImgFile, Color.FromArgb(0, 255, 255)) == false) { MessageBox.Show("L'image " + m_BriquesImgFile + " n'a pas pu être chargée. Le programme doit être arrêté.", "Casse briques", MessageBoxButtons.OK, MessageBoxIcon.Error); this.Close(); } int wallWidth = ((m_Briques[0, 0].Width + 1) * m_Briques.GetLength(0)); int paddingWidth = (pbDisplayer.Width - wallWidth) / 2; int paddingHeight = 20; m_Briques[i, j].X = paddingWidth + ((m_Briques[i, j].Width + 1) * i); m_Briques[i, j].Y = paddingHeight + (m_Briques[i, j].Height + 1) * j; } } m_Music = new Music(); if (m_Music.LoadTrack(m_MusiqueFile) == false) { MessageBox.Show("La musique " + m_MusiqueFile + " n'a pas pu être chargée. Le programme doit être arrêté.", "Casse briques", MessageBoxButtons.OK, MessageBoxIcon.Error); this.Close(); } m_CanPlayMusic = m_Music.Play(); this.DoubleBuffered = true; m_IsInitialized = true; tmDisplay.Enabled = true; }