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; } }
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; } } } } } } } } }