public void LoadLevel(Ball ball, ref Paddle paddle, ref List <Block> blocks) { ball.SetPosition(Object.windowWidth / 2, Object.windowHeigth / 2); paddle.SetPosition(Object.windowWidth / 2, Object.windowHeigth - 60); switch (lvl) { case GameLevels.LEVEL_1: LoadLevel_1(ref blocks); break; case GameLevels.LEVEL_2: LoadLevel_2(ref blocks); break; case GameLevels.LEVEL_3: LoadLevel_3(ref blocks); break; case GameLevels.LEVEL_4: LoadLevel_4(ref blocks); break; case GameLevels.LEVEL_5: LoadLevel_5(ref blocks); break; case GameLevels.LEVEL_6: LoadLevel_6(ref blocks); break; case GameLevels.LEVEL_7: LoadLevel_7(ref blocks); break; case GameLevels.LEVEL_8: LoadLevel_8(ref blocks); break; case GameLevels.LEVEL_9: LoadLevel_9(ref blocks); break; case GameLevels.LEVEL_10: LoadLevel_10(ref blocks); break; default: break; } }
void Game() { List <Block> blocks = new List <Block>(); List <Bonus> bonuses = new List <Bonus>(); level.LoadLevel(ball, ref player, ref blocks); howMauchBlocks = blocks.Count; ball.MoveStraightDown(); player.Reset(); ball.Reset(); while (state == GameState.GAME) { window.Clear(); superBall.GetTime(); ball.Update(); player.Update(); if (Collisions(ref player, ref ball)) { player.SetPosition(player.GetPosition().X, player.GetPosition().Y - 1); } if (redPaddle.IsActive()) { RedPaddleSpecial(); } else if (bluePaddle.IsActive()) { BluePaddleSpecial(); } UpdateAndRemoveBlocks(ref blocks, ref bonuses); UpdateAndRemoveBonuses(ref bonuses); if (howMauchBlocks <= 0) { level.ChangeToNextLevel(); state = GameState.LEVEL_COMPLETED; break; } if (CheckGameOver(ref ball)) { if (greenPaddle.IsActive()) { GreenPaddleSpecial(); } else { state = GameState.GAME_OVER; } } window.DispatchEvents(); window.Draw(coins.ShowCoinsInGame(amountOfCoins)); window.Draw(ball); window.Draw(player.sprite); window.Display(); } }