コード例 #1
0
ファイル: BrikControl.xaml.cs プロジェクト: mbonitho/ClockTwo
        //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
        }
コード例 #2
0
ファイル: BrikControl.xaml.cs プロジェクト: mbonitho/ClockTwo
 private bool CollisionParLaGaucheOuLaDroite(Balle balle, IItem brique)
 {
     return (CollisionEntreItems(balle, brique) && (balle.CoteGauche < brique.CoteGauche) || balle.CoteDroit > brique.CoteDroit);
 }
コード例 #3
0
ファイル: BrikControl.xaml.cs プロジェクト: mbonitho/ClockTwo
        //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();
        }