Example #1
0
 public RaceState(RaceTrack track, Car firstCar, Car secondCar)
 {
     Track     = track;
     FirstCar  = firstCar;
     SecondCar = secondCar;
     cars      = new List <Car> {
         FirstCar, SecondCar
     };
 }
Example #2
0
        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)));
        }
Example #3
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)));
        }