private static void CheckForCarCrash(Car playerCar, List<Car> trafficCars) { foreach (Car car in trafficCars) { if (car.X == playerCar.X && car.Y > playerCar.Y - Constants.CarHeight) { PrintGameOver(); Restart(); } } }
private static void AddRandomTrafficCar(List<Car> trafficCars) { Random possitionGenerator = new Random(); int maxGeneratedPossition = Constants.PlayfieldWidth / Constants.CarWidth; //random X possition [0 3 6 9 12 ...] int initialTrafficCarXCord = (possitionGenerator.Next(0, maxGeneratedPossition * 100) / 100) * Constants.CarWidth; int initialTrafficCarYCord = 0; Car newTrafficCar = new Car(initialTrafficCarXCord, initialTrafficCarYCord, Constants.InitialTrafficColor); trafficCars.Add(newTrafficCar); }
private static void MovePlayerCar(Car playerCar) { ConsoleKeyInfo pressedKey = new ConsoleKeyInfo(); while (Console.KeyAvailable) { pressedKey = Console.ReadKey(true); } if (pressedKey.Key != 0) { playerCar.Move(pressedKey.Key); } }
private static void PrintAllCars(Car playerCar, List<Car> trafficCars) { playerCar.Print(); foreach (Car car in trafficCars) { car.Print(); } }
private static void Initialize(out int score, out int level, out int speed, out Car playerCar, out List<Car> trafficCars) { Console.BufferWidth = Console.WindowWidth = Constants.WindowWidth; Console.BufferHeight = Console.WindowHeight = Constants.WindowHeight; Console.CursorVisible = false; score = Constants.InitialScorePoints; level = Constants.InitialLevel; speed = Constants.InitialSpeedPoints; playerCar = new Car(Constants.InitialPlayerXCord, Constants.InitialPlayerYCord, Constants.InitialPlayerColor); trafficCars = new List<Car>(); }