Как организовать код программы автомобильной игры? - C#
Формулировка задачи:
Напишите базовый код программы автомобильной игры. Программа должна включать класс Саr со следующими элементами:
1. переменная экземпляра position типа int
2. метод с заголовком public void MoveForward(int distance), который добавляет расстояние distance к переменной экземпляра position
3. метод с заголовком public void Reverse(int distance), который вычитает расстояние distance из позиции position
4. метод GetPosition, возвращающий величину position в точку вызова
Кроме того, программа должна содержать класс CarGame, который (используя массив) содержит 5 объектов типа Саr Этот класс должен позволять перемещать каждый автомобиль (вперед и назад) и возвращать положение каждого из автомобилей (заданного посредством индекса массива).
Программа также должна содержать класс CarGameTester, содержащий метод Main.
Напишите небольшую тестовую программу (она включает классы: Саr CarGame и CarGameTester) и убедитесь, что оба класса (Саr CarGame) функционируют правильно.
Как это всё организовать начал чуть и в стопор
и всё
class Person
{
private int age = 0;
public void SetAge(int newAge)
{
age = newAge;
}
public int GetAge()
{
return age;
}
}
class ReferenceTester
{
public static void Main()
{Решение задачи: «Как организовать код программы автомобильной игры?»
textual
Листинг программы
class CarGameTester
{
static void Main(string[] args)
{
CarGame carGame = new CarGame();
carGame.Game();
}
}
class CarGame
{
public void Game()
{
Car[] cars = {new Car(), new Car(), new Car(), new Car(), new Car()};
Random randMove = new Random();
//Едем вперед
for (int i = 0; i < cars.Length; i++)
{
cars[i].MethodForward(randMove.Next(1, 10));
Console.WriteLine("Машина {0} проехала {1} км", i + 1, cars[i].Position);
}
//Едем назад
for (int i = 0; i < cars.Length; i++)
{
cars[i].Reverse(cars[i].Position);
Console.WriteLine("Машина {0} вернулась в исходную точку", i + 1);
Console.WriteLine("Позиция машины {0} = {1}", i + 1, cars[i].Position);
}
}
}
class Car
{
public int Position { get; set; }
public void MethodForward(int distance)
{
Position += distance;
}
public void Reverse(int distance)
{
Position -= distance;
}
}