static void Main(string[] args) { Console.BufferHeight = Console.WindowHeight = MaxHeight; Console.BufferWidth = Console.WindowWidth = MaxWidth; // main screen DrawingScreen.DrawMainScreen(); Console.Clear(); FrogHome home = new FrogHome(); home.RenderOnPosition(0, 5); // main engine Engine(); }
private static void Engine() { List <Tree> treesFR = new List <Tree>(); List <Tree> treesSR = new List <Tree>(); List <Tree> treesTR = new List <Tree>(); List <Flowers> flowersFR = new List <Flowers>(); List <Flowers> flowersSR = new List <Flowers>(); List <Car> cars = new List <Car>(); Random randGen = new Random(); int nextElementTr = 25; int nextElementFl = 48; int counterTr = 0; int counterFl = 0; int slower = 0; cars.Add(new PoliceCar(43, 2)); cars.Add(new Cabrio(39, 60)); cars.Add(new Truck(34, 3)); cars.Add(new Cabrio(29, 70)); foreach (var car in cars) { car.Render(); } treesFR.Add(new Tree(MaxHeight / 2 - 2, 0)); treesFR[0].Render(); treesSR.Add(new Tree(MaxHeight / 2 - 8, 0)); treesSR[0].Render(); treesTR.Add(new Tree(MaxHeight / 2 - 14, 0)); treesTR[0].Render(); flowersFR.Add(new Flowers(MaxHeight / 2 - 5, Console.WindowWidth - 14)); flowersFR[0].Render(); flowersSR.Add(new Flowers(MaxHeight / 2 - 11, Console.WindowWidth - 14)); flowersSR[0].Render(); Island island = new Island(); Frog frog = new Frog(Console.WindowHeight - 2, Console.WindowWidth / 2); frog.Render(); frog.Lives = 7; frog.InHome = 0; int counterCars = 0; // timer Stopwatch time = new Stopwatch(); time.Start(); while (frog.Lives != 0) { counterCars++; counterTr++; counterFl++; slower++; bool onElement = false; // information on top DrawingScreen.Information(frog.Lives, time, frog.Points); // draw island island.RenderOnPosition(0, MainProgram.MaxHeight / 2 + 1); //Tree move TreeMove(treesFR, treesSR, randGen, ref nextElementTr, ref counterTr); // main logic for frog on the river elements FrogOverTheRiverMainLogic(treesFR, treesSR, treesTR, flowersFR, flowersSR, randGen, ref nextElementFl, ref counterFl, slower, frog, ref onElement); // print flowers foreach (var flowerFR in flowersFR) { flowerFR.PrintOnPosition(); } foreach (var flowerSR in flowersSR) { flowerSR.PrintOnPosition(); } // implement crash of the frog with cars CrashWithFrog(cars, frog); // add cars on row AddMoreCarOnRow(cars, counterCars); frog.Move(); // complete level if (frog.InHome == 5) { break; } System.Threading.Thread.Sleep(80); } time.Stop(); TimeSpan allTime = time.Elapsed; // calculated points int pasedTime = (int)allTime.TotalSeconds; int points = (pasedTime) + (frog.InHome * 2); if (frog.Lives == 0) { DrawingScreen.GameOver(points); } else { DrawingScreen.LevelComplete(points); } // draw position in ranklist DrawingScreen.WritePointsToTxt(points); DrawingScreen.DrawScoreBoard(); }