//Applique un effet aléatoire à la raquette ou à la balle private void AppliqueEffetModificateur() { Random R = new Random(); double hasard = R.NextDouble(); if (hasard < 0.1) this.laRaquette.Width += 10; else if (hasard < 0.2) this.laRaquette.Width -= 10; else if (hasard < 0.3) this.laRaquette.Vitesse += 2; else if (hasard < 0.4) this.laRaquette.Vitesse -= 2; else if (hasard < 0.5) { Balle b = new Balle(this.MainGrid, this.laRaquette.CoteGauche + this.laRaquette.Forme.Width / 2, this.laRaquette.CoteHaut); b.ReplaceEnY(this.laRaquette.CoteHaut - b.Forme.Height); this.lesBalles.Add(b); } else if (hasard < 0.6) foreach (Balle b in this.lesBalles) b.Percante = true; else if (hasard < 0.7) foreach (Balle b in this.lesBalles) { b.VitesseX -= 0.5; b.VitesseY -= 0.5; } else if (hasard < 0.8) foreach (Balle b in this.lesBalles) { b.VitesseX += 0.5; b.VitesseY += 0.5; } else if (hasard < 0.9) this.nbVies++; else this.laRaquette.touchesInversees = !this.laRaquette.touchesInversees; //feu }
private bool CollisionParLaGaucheOuLaDroite(Balle balle, IItem brique) { return (CollisionEntreItems(balle, brique) && (balle.CoteGauche < brique.CoteGauche) || balle.CoteDroit > brique.CoteDroit); }
//Initialise les différents objets private void InitialisePartie() { //Avant toute chose, on enlève le handler de démarrage de partie this.FenParent.KeyDown -= this.BrikCompOnMenuKeyDown; //Retrait des labels de l'image (maingrid.children.clear ?) MainGrid.Children.Remove(lblTitre); MainGrid.Children.Remove(lblGo); MainGrid.Children.Remove(lblAuteur); MainGrid.Children.Remove(lblChoixNiv); MainGrid.Children.Remove(txtChoixNiv); //Score visible lblScore.Visibility = System.Windows.Visibility.Visible; //Branchement du clavier this.FenParent.KeyDown += new KeyEventHandler(this.BrikCompOnGameKeyDown); //Initialisation de la raquette this.laRaquette = new Raquette(this.MainGrid, this.Width / 2, this.Height); //Initialisation de la balle this.lesBalles = new List<Balle>(); Balle b = new Balle(this.MainGrid, this.laRaquette.CoteGauche + this.laRaquette.Forme.Width / 2, this.laRaquette.CoteHaut); b.ReplaceEnY(this.laRaquette.CoteHaut - b.Forme.Height); lesBalles.Add(b); //Attributs try { this.niveau = int.Parse(txtChoixNiv.Text); } catch (Exception) { this.niveau = 1; } this.nbVies = 3; //Création des différentes Briques CreeBriques(this.niveau.ToString()); //Création du timer d'IHM IHMTimer = new DispatcherTimer(); IHMTimer.Tick += new EventHandler(IHMTimer_Tick); IHMTimer.Interval = new TimeSpan(0, 0, 0, 0, 50); IHMTimer.Start(); }