public RaceState(RaceTrack track, Car firstCar, Car secondCar) { Track = track; FirstCar = firstCar; SecondCar = secondCar; cars = new List <Car> { FirstCar, SecondCar }; }
public static RaceState Generate(int fieldSize, int flagsCount, Random random) { var flags = Enumerable.Range(0, flagsCount) .Select(i => new V(random.Next(-fieldSize, fieldSize), random.Next(-fieldSize, fieldSize))) .ToList(); var raceTrack = new RaceTrack(flags, new List <Disk>(), fieldSize * 5 * flagsCount, flagsCount * 3); return(new RaceState(raceTrack, new Car(new V(-5, 0), V.Zero, 0), new Car(new V(5, 0), V.Zero, 0))); }
public static RaceState Generate2Lines(int fieldSize, int flagsCount, Random random) { var flags = Enumerable.Range(0, flagsCount / 2) .Select(i => new V(10 + 10 * i, 0)) .Concat(Enumerable.Range(0, flagsCount / 2).Select(i => new V(10 + 10 * flagsCount / 2 - 10 * i, 20))) .ToList(); var raceTrack = new RaceTrack(flags, new List <Disk>(), fieldSize * 5, flagsCount * 10); return(new RaceState(raceTrack, new Car(new V(-5, 0), V.Zero, 0), new Car(new V(5, 0), V.Zero, 0))); }