Пример #1
0
        private void KindBonus(Random gener, Vector2 position)
        {
            int kind = gener.Next(1, 9);

            switch (kind)
            {
            case 1:
                Bonus bon1 = new Bonus(bonusTexture1, position, Constant.bonuswidth, Constant.bonusheigth,
                                       Constant.bonusdY, NameBonus.Plusscore, true);

                Gamecomp.Add(bon1);
                break;

            case 2:
                Bonus bon2 = new Bonus(bonusTexture2, position, Constant.bonuswidth, Constant.bonusheigth,
                                       Constant.bonusdY, NameBonus.Minusscore, false);

                Gamecomp.Add(bon2);
                break;

            case 3:
                Bonus bon3 = new Bonus(bonusTexture3, position, Constant.bonuswidth, Constant.bonusheigth,
                                       Constant.bonusdY, NameBonus.Pluslife, true);

                Gamecomp.Add(bon3);
                break;

            case 4:
                Bonus bon4 = new Bonus(bonusTexture4, position, Constant.bonuswidth, Constant.bonusheigth,
                                       Constant.bonusdY, NameBonus.Minuslife, false);

                Gamecomp.Add(bon4);
                break;

            case 5:
                Bonus bon5 = new Bonus(bonusTexture5, position, Constant.bonuswidth, Constant.bonusheigth,
                                       Constant.bonusdY, NameBonus.AddBall, true);

                Gamecomp.Add(bon5);
                break;

            case 6:
                Bonus bon6 = new Bonus(bonusTexture6, position, Constant.bonuswidth, Constant.bonusheigth,
                                       Constant.bonusdY, NameBonus.Megapaddle, true);

                Gamecomp.Add(bon6);
                break;

            case 7:
                Bonus bon7 = new Bonus(bonusTexture7, position, Constant.bonuswidth, Constant.bonusheigth,
                                       Constant.bonusdY, NameBonus.Paddleplussize, true);

                Gamecomp.Add(bon7);
                break;

            case 8:
                Bonus bon8 = new Bonus(bonusTexture8, position, Constant.bonuswidth, Constant.bonusheigth,
                                       Constant.bonusdY, NameBonus.Paddleminussize, false);

                Gamecomp.Add(bon8);
                break;
            }
        }
Пример #2
0
        private void Updatebonus(GameTime gametime)
        {
            for (int j = 0; j < Gamecomp.Count; j++)
            {
                Ball ball = Gamecomp[j] as Ball;
                if (ball != null)
                {
                    for (int i = 0; i < Gamecomp.Count; i++)
                    {
                        Paddle paddle = Gamecomp[i] as Paddle;
                        if (paddle != null)
                        {
                            for (int k = 0; k < Gamecomp.Count; k++)
                            {
                                Bonus bonus = Gamecomp[k] as Bonus;
                                if (bonus != null)
                                {
                                    if (bonus.rect.Intersects(paddle.rect))
                                    {
                                        if (bonus.kindbonus == NameBonus.Plusscore)
                                        {
                                            Gamecomp.Remove(bonus);
                                            currentscore += Constant.bonusscore;
                                            break;
                                        }
                                        if (bonus.kindbonus == NameBonus.Minusscore)
                                        {
                                            Gamecomp.Remove(bonus);
                                            currentscore -= Constant.bonusscore;
                                            break;
                                        }
                                        if (bonus.kindbonus == NameBonus.Pluslife)
                                        {
                                            Gamecomp.Remove(bonus);
                                            currentlive -= Constant.singlelife;
                                            break;
                                        }
                                        if (bonus.kindbonus == NameBonus.Minuslife)
                                        {
                                            Gamecomp.Remove(bonus);
                                            currentlive += Constant.singlelife;
                                            break;
                                        }
                                        if (bonus.kindbonus == NameBonus.Megapaddle)
                                        {
                                            Gamecomp.Remove(bonus);
                                            Paddle mega = new MegaPaddle(megapaddle, paddle.thePosition, Constant.originalpaddlewidth, Constant.originalpaddleheigth * 4);
                                            Gamecomp.Add(mega);
                                            Gamecomp.Remove(paddle);
                                            break;
                                        }
                                        if (bonus.kindbonus == NameBonus.Paddleplussize)
                                        {
                                            Gamecomp.Remove(bonus);
                                            Paddle newpaddle = new Paddle(thePaddle, paddle.thePosition, Constant.originalpaddlewidth * 2, Constant.originalpaddleheigth);
                                            Gamecomp.Add(newpaddle);
                                            Gamecomp.Remove(paddle);
                                            break;
                                        }
                                        if (bonus.kindbonus == NameBonus.Paddleplussize)
                                        {
                                            Gamecomp.Remove(bonus);
                                            Paddle newpaddle = new Paddle(thePaddle, paddle.thePosition, Constant.originalpaddlewidth * 2, Constant.originalpaddleheigth);
                                            Gamecomp.Add(newpaddle);
                                            Gamecomp.Remove(paddle);
                                            break;
                                        }
                                        if (bonus.kindbonus == NameBonus.Paddleminussize)
                                        {
                                            Gamecomp.Remove(bonus);
                                            Paddle newpaddle = new Paddle(thePaddle, paddle.thePosition, Constant.originalpaddlewidth, Constant.originalpaddleheigth);
                                            Gamecomp.Add(newpaddle);
                                            Gamecomp.Remove(paddle);
                                            break;
                                        }
                                        if (bonus.kindbonus == NameBonus.AddBall)
                                        {
                                            Gamecomp.Remove(bonus);
                                            Ball newBall = new Ball(theBall, theBallPosition, Constant.originalballsize, Constant.originalballsize,
                                                                    Constant.balldX, Constant.originalballdY);

                                            Gamecomp.Add(newBall);
                                            break;
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }