public void Tear_RemovesDisksFromTowers() { var towers = new Towers(); towers.Clear(); towers.Tower1.Count.ShouldEqual(0); towers.Tower2.Count.ShouldEqual(0); towers.Tower3.Count.ShouldEqual(0); }
public void StartGame() { CurrentLevel = 1; CurrentScore = 0; Towers.Clear(); Levels.Clear(); PrintWelcome(); // Print Welcome-Screen and Highscore SetDifficulty(); // Set difficulty and generate map & path AskToPlaceTowers(); // Ask player to place tower GenerateInvaderAndLevels(); // Generate all levels with their relative invaders try { // Run all levels, calculate score and increase towerpoints // After each level player can place more towers foreach (var level in Levels) { level.Towers = Towers.ToArray(); if (level.Play()) { foreach (var invader in level._invaders) { CurrentScore += invader.Score; } CurrentScore += 5; Console.WriteLine("Level {0} completed, you earned {1} points!", CurrentLevel, CurrentScore); CurrentLevel++; continue; } else { Console.WriteLine(); Console.WriteLine("Game Over - You have lost!"); Console.WriteLine("You have reached level {0}", CurrentLevel); Console.Write("Play again? (y/n): "); if (Console.ReadKey().Key == ConsoleKey.Y) { StartGame(); } else { throw new Exception("Game Over!"); } } } } catch (Exception ex) { // GameOver(); // CheckForHighscore(); Console.WriteLine(ex); SaveHighscore(); } }