Exemple #1
0
        public async Task RaceCarFuelInvalidOperationExceptionTest()
        {
            // arrange
            double    lapDistrance;
            int       numberOfLaps;
            TimeSpan  timeToPitstop;
            RaceTrack raceTrack;

            TestBase.GetRaceTrackEntity(out lapDistrance, out numberOfLaps, out timeToPitstop, out raceTrack);
            Guid             trackId;
            double           fuelCapacity, fuelConsumptionPerLap;
            TimeSpan         timePerLap;
            CarConfiguration carConfig;

            // act
            TestBase.GetCarConfigurationEntity(raceTrack, out trackId, out fuelCapacity, out timePerLap, out fuelConsumptionPerLap, out carConfig);
            var raceCar = new RaceCar(carConfig);

            raceCar.LapDistance     = 2d;
            raceCar.PrevLapDistance = 0d;
            raceCar.CarFuel         = 30d;

            // assert
            Assert.Throws <InvalidOperationException>(() => raceCar.UpdateFuel());
        }
Exemple #2
0
    // Unity method for updating the simulation
    void Update()
    {
        //Update reward for each enabled car on the track
        for (int i = 0; i < cars.Count; i++)
        {
            RaceCar car = cars[i];
            if (car.Car.enabled)
            {
                car.Car.CurrentCompletionReward = GetCompletePerc(car.Car, ref car.CheckpointIndex);

                //Update best
                if (BestCar == null || car.Car.CurrentCompletionReward >= BestCar.CurrentCompletionReward)
                {
                    BestCar = car.Car;
                }
                else if (SecondBestCar == null || car.Car.CurrentCompletionReward >= SecondBestCar.CurrentCompletionReward)
                {
                    SecondBestCar = car.Car;
                }

                // Update best active
                if (BestActiveCar == null || !BestActiveCar.enabled || car.Car.CurrentCompletionReward >= BestActiveCar.CurrentCompletionReward)
                {
                    BestActiveCar = car.Car;
                }
            }
        }
    }
    public void SetCarAmount(int amount)
    {
        //Check arguments
        if (amount < 0)
        {
            throw new ArgumentException("Amount may not be less than zero.");
        }

        if (amount == cars.Count)
        {
            return;
        }

        if (amount > cars.Count)
        {
            //Add new cars
            for (int toBeAdded = amount - cars.Count; toBeAdded > 0; toBeAdded--)
            {
                GameObject carCopy = Instantiate(PrototypeCar.gameObject);
                cars.Add(new RaceCar(carCopy.GetComponent <CarManager>()));
                carCopy.SetActive(true);
            }
        }
        else if (amount < cars.Count)
        {
            //Remove existing cars
            for (int toBeRemoved = cars.Count - amount; toBeRemoved > 0; toBeRemoved--)
            {
                RaceCar last = cars[cars.Count - 1];
                cars.RemoveAt(cars.Count - 1);

                Destroy(last.Car.gameObject);
            }
        }
    }
Exemple #4
0
        static void Main(string[] args)
        {
            Vehicle vehicle = new Car();

            vehicle.Run();
            ((Car)vehicle).Stopped();
            vehicle.Fuel();


            vehicle = new Truck();
            vehicle.Run();
            vehicle.Stopped();
            vehicle.Fuel();

            //RaceCar raceCar = new RaceCar();
            //raceCar.Run();
            //raceCar.Stopped();
            //raceCar.Fuel();
            vehicle = new RaceCar();
            vehicle.Run();
            ((RaceCar)vehicle).Stopped();
            vehicle.Fuel();

            IVehicle vehicle1 = new test();

            vehicle1.SayHi();
        }
        public PsychoticUberDriver(RaceCar car) : base(car)
        {
            // We've all been scared of our Uber before
            Name = "Larry the psychotic Uber Man";

            // Larry the angry Uber Man is a total BEAST MODE, max level driver
            SkillLevel = 9;
        }
Exemple #6
0
        static void Main(string[] args)
        {
            RaceCar raceCar = new RaceCar();
            Car     car     = new Car();

            car.ShowOwner();
            Console.ReadKey();
        }
        public void ShouldReturnRaceCar()
        {
            var baseCar = new BaseCar();
            var car     = new RaceCar(baseCar);

            Assert.AreEqual(140, car.Drive());
            Assert.AreEqual(90, car.Attack());
            Assert.AreEqual(90, car.Defend());
        }
Exemple #8
0
        static void Main(string[] args)
        {
            Console.WriteLine("Testing objects:");
            Missile Bill    = new Missile(1000.0);
            RaceCar McQueen = new RaceCar(100.0);

            Console.WriteLine("Missile distance traveled: " + Bill.DistanceTraveledInMeters(Bill.rate, time) + " meters");

            Console.WriteLine("Racecar distance traveled: " + McQueen.DistanceTraveledInMeters(McQueen.rate, time) + " meters");
        }
Exemple #9
0
 public void StartMoving()
 {
     for (int i = 0; i < cars.Length; ++i)
     {
         if (fastestCar == null || cars[i].maxSpeed > fastestCar.maxSpeed)
         {
             fastestCar = cars[i];
         }
     }
     StartCoroutine(StartMovingAfterDelay());
 }
 // Unity method for updating the simulation
 void Update()
 {
     //Update reward for each enabled car on the track
     for (int i = 0; i < cars.Count; i++)
     {
         RaceCar car = cars[i];
         if (car.Car.enabled)
         {
             BestCar = car.Car;
         }
     }
 }
Exemple #11
0
        public RaceCar Build()
        {
            RaceCar c = new RaceCar();

            c.Color        = _color;
            c.Engine       = _engine;
            c.Tires        = _tires;
            c.ZeroTo60Time = _zeroTo60Time;
            c.Weight       = _weight;

            return(c);
        }
        public void ShouldReturnFullyDecoratedRaceCar()
        {
            var  baseCar     = new BaseCar();
            var  armoredCar  = new ArmoredCar(baseCar);
            var  armoredCar2 = new ArmoredCar(armoredCar);
            var  raceCar     = new RaceCar(armoredCar2);
            ICar car         = new AttackCar(raceCar);

            Assert.AreEqual(90, car.Drive());
            Assert.AreEqual(120, car.Attack());
            Assert.AreEqual(160, car.Defend());
        }
Exemple #13
0
 public static void CarSearch(ref RaceCar playerCar)
 {
     allCars = UnityEngine.Object.FindObjectsOfType <RaceCar>();
     for (int i = 0; i < allCars.Length; i++)
     {
         if (!allCars[i].isNetworkCar)
         {
             playerCar = allCars[i];
             return;
         }
     }
 }
Exemple #14
0
    private void OnTriggerEnter2D(Collider2D other)
    {
        RaceCar raceCar = other.GetComponent <RaceCar>();

        if (!winnerSet)
        {
            winnerSet           = true;
            winner.vehicleBody  = raceCar.raceStarter.vehicleBody;
            winner.vehicleColor = raceCar.raceStarter.vehicleColor;
        }
        raceCar.EndRace();
        raceOverEvent.Raise();
    }
Exemple #15
0
        static void Main(string[] args)
        {
            Race      race = new Race();
            RaceCar   car1 = new RaceCar("Test 1");
            RaceCar   car2 = new RaceCar("Test 2");
            StreetCar car3 = new StreetCar("Test 3");
            string    str;

            race.AddRacer(car1);
            race.AddRacer(car2);
            race.AddRacer(car3);
            str = race.PrintRacers();
        }
Exemple #16
0
        static async Task Main(string[] args)
        {
            RaceTrack        raceTrack       = new RaceTrack(1000, 3, new TimeSpan(TimeSpan.TicksPerSecond * 20));
            long             seconds         = TimeSpan.TicksPerSecond * 60;
            TimeSpan         timePerLap      = new TimeSpan(seconds); // 60 seconds per lap
            CarConfiguration carConiguration = new CarConfiguration(raceTrack, 20, timePerLap, 40);
            RaceCar          car1            = new RaceCar(carConiguration);
            RaceCar          car2            = new RaceCar(carConiguration);
            List <RaceCar>   raceCars        = new List <RaceCar>();

            Console.WriteLine($"Current Thread Id: {Thread.CurrentThread.ManagedThreadId}");
            raceCars.Add(car1);
            raceCars.Add(car2);
            //await RunAll(raceCars);
            await RunAllParalle(raceCars);
        }
Exemple #17
0
 // Token: 0x06000006 RID: 6 RVA: 0x00002510 File Offset: 0x00000710
 private void Update()
 {
     if (Input.GetKeyDown(KeyCode.F8) && SceneManager.GetActiveScene().name != "SelectCar" && JapanX.IsJapanXActive)
     {
         if (this.mapLoaded)
         {
             this.rtProbe.SetActive(false);
             this.rtProbe.SetActive(true);
             return;
         }
         if (SceneManager.GetActiveScene().name != "Airfield")
         {
             UnityEngine.Object.Destroy(GameObject.Find("map"));
             this.LoadJapanXMap();
             if (this.spawns.Count <= 0)
             {
                 UnityEngine.Debug.LogWarning("[JapanX]: WARNING: Map does not have spawns");
                 return;
             }
             RaceCar   raceCar = null;
             RaceCar[] array   = UnityEngine.Object.FindObjectsOfType <RaceCar>();
             for (int i = 0; i < array.Length; i++)
             {
                 if (!array[i].isNetworkCar)
                 {
                     raceCar = array[i];
                     break;
                 }
             }
             if (raceCar != null)
             {
                 raceCar.getTransform.position = this.spawns[0].transform.position;
                 raceCar.getTransform.rotation = this.spawns[0].transform.rotation;
                 Rigidbody getRigidbody = raceCar.carX.getRigidbody;
                 getRigidbody.velocity        = Vector3.zero;
                 getRigidbody.angularVelocity = Vector3.zero;
                 return;
             }
         }
         else
         {
             UIMessageBox.ShowHint("Navaro is not supported", "JapanX", null, null);
             UnityEngine.Debug.LogError("[JapanX]: ERROR: Maps not supported for Navaro");
         }
     }
 }
Exemple #18
0
        static void Main(string[] args)
        {
            // We build a car, but we may not have a lot of knowledge about how it should be built.
            // There are a lot of properties here.  We may not understand them all.
            // We may miss some properties.
            // We may have to do this over and over and are repeating ourselves a lot.
            var car1 = new RaceCar();

            car1.Color        = "red";
            car1.Engine       = EngineType.InlineTurbo;
            car1.Tires        = TireType.PRated;
            car1.Weight       = 1500 - 25.0m - 63.0m - 8.5m + (8.6m * 5.0m);
            car1.ZeroTo60Time = 5.4m;


            // // Here is a way to do it more flexibly with a builder.
            // var car2 = new CarBuilder()
            //  .StartWithFordMustang()
            //  .ChangeTires(TireType.Track)
            //  .InstallEngine(EngineType.V8SuperCharged)
            //  .CutOffPart(25.0m)
            //  .CutOffPart(63.0m)
            //  .CutOffPart(8.5m)
            //  .FillGasTank()
            //  .Build();

            // // Ah, but we could also adust the builder just a bit and create a second car.  Or ten identical instances.
            // CarBuilder beachBlastCustoms = new CarBuilder()
            //  .StartWithMeyersManx()
            //  .FillGasTank();
            // RaceCar blueManx = beachBlastCustoms.Paint("Blue").Build();
            // RaceCar redManx = beachBlastCustoms.Paint("Red").Build();
            // RaceCar purpleManx = beachBlastCustoms.Paint("Purple").Build();

            RaceTrackSimulator sim = new RaceTrackSimulator();

            sim.Car = car1;
            try
            {
                sim.Simulate();
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }
        }
Exemple #19
0
        static readonly string s_systemDir = "OneDbPerClass"; // appended to SessionBase.BaseDatabasePath

        public void AddRaceCar()
        {
            try
            {
                using (SessionNoServer session = new SessionNoServer(s_systemDir))
                {
                    Console.WriteLine("Running with databases in directory: " + session.SystemDirectory);
                    session.BeginUpdate();
                    RaceCar raceCar = new RaceCar();
                    raceCar.Speed = 1976.7;
                    session.Persist(raceCar);
                    session.Commit();
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
            }
        }
    // Unity method for updating the simulation
    void Update()
    {
        CarController BestAliveCar = null;
        float         maxReward    = 0f;

        //Update reward for each enabled car on the track
        for (int i = 0; i < cars.Count; i++)
        {
            RaceCar car = cars[i];
            if (car.Car.enabled)
            {
                car.Car.CurrentCompletionReward = GetCompletePerc(car.Car, ref car.CheckpointIndex);
                if (car.Car.CurrentCompletionReward >= maxReward)
                {
                    maxReward    = car.Car.CurrentCompletionReward;
                    BestAliveCar = car.Car;
                }
                // Update best
                if (BestCar == null || car.Car.CurrentCompletionReward >= BestCar.CurrentCompletionReward)
                {
                    // if no best car or current car is better than best car
                    BestCar = car.Car;
                }
                else if (SecondBestCar == null ||
                         car.Car.CurrentCompletionReward >= SecondBestCar.CurrentCompletionReward)
                {
                    // if  no second best car
                    SecondBestCar = car.Car;
                }
            }
        }

        if (BestCar != null && !BestCar.enabled && BestCar != BestAliveCar)
        {
            // if BestCar is dead, focus on next best
            if (BestAliveCarChanged != null)
            {
                BestAliveCarChanged(BestAliveCar);
            }
        }
    }
Exemple #21
0
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");

            Car c1 = new Car();

            c1.Speed = 100;
            Console.WriteLine(c1.Speed);
            c1.Speed += 1;
            Console.WriteLine(c1.Speed);
            Console.WriteLine(c1.Horsepower += 1);
            Console.WriteLine(c1.Horsepower += 1);
            Console.WriteLine(c1.Torgue     += 3);
            Console.WriteLine("===================");

            c1.Speed = 10;
            Console.WriteLine(c1.Speed);
            c1.SpeedUp(30);
            Console.WriteLine(c1.Speed);
            Console.WriteLine("===================");

            RaceCar c2 = new RaceCar();

            c2.SpeedUp(30);
            Console.Out.WriteLine(c2.Speed);
            Console.WriteLine(c2.Torgue);
            Console.WriteLine("===================");

            RaceCar rc = new RaceCar();
            Car     c  = rc;

            Console.WriteLine(c.Speed);
            rc.SpeedUp(10);
            Console.WriteLine(c.Speed);
            c.SpeedUp(10);
            Console.WriteLine(c.Speed);
// result:
// 0
// 20
// 40 (c.SpeedUp(10);)
        }
Exemple #22
0
        public Car Create(CarType type, int xPos, int yPos, City city, Passenger passenger)
        {
            Car car;

            switch (type)
            {
                case CarType.Sedan:
                    car = new Sedan(xPos, yPos, city, passenger);
                    break;
                case CarType.RaceCar:
                    car = new RaceCar(xPos, yPos, city, passenger);
                    break;
                case CarType.Motorcycle:
                    car = new Motorcycle(xPos, yPos, city, passenger);
                    break;
                default:
                    throw new ArgumentOutOfRangeException(nameof(type), type, null);
            }

            return car;
        }
    public void SetCarAmount(int amount)
    {
        //Check arguments
        if (amount < 0)
        {
            throw new ArgumentException("Amount may not be less than zero.");
        }

        if (amount == CarCount)
        {
            return;
        }

        if (amount > cars.Count)
        {
            //Add new cars
            for (int toBeAdded = amount - cars.Count; toBeAdded > 0; toBeAdded--)
            {
                GameObject carCopy = Instantiate(PrototypeCar.gameObject);
                carCopy.transform.position = startPosition;
                carCopy.transform.rotation = startRotation;
                CarController controllerCopy = carCopy.GetComponent <CarController>();
                var           raceCar        = new RaceCar(controllerCopy, 1);
                raceCar.Car.CarDied += OnCarDied;
                cars.Add(raceCar);
                carCopy.SetActive(true);
            }
        }
        else if (amount < cars.Count)
        {
            //Remove existing cars
            for (int toBeRemoved = cars.Count - amount; toBeRemoved > 0; toBeRemoved--)
            {
                RaceCar last = cars[cars.Count - 1];
                cars.RemoveAt(cars.Count - 1);

                Destroy(last.Car.gameObject);
            }
        }
    }
Exemple #24
0
        static void Main(string[] args)
        {
            ICar baseCar = new BaseCar();

            // Show how specific features of car are
            showCarStats(baseCar);

            // decorate baseCar with RaceCar and see how car chages
            ICar raceCar = new RaceCar(baseCar);

            showCarStats(raceCar);

            // decorate our car yet again, this time with RustyCar and see changes
            ICar yetSomeOtherCar = new RustyCar(raceCar);

            showCarStats(yetSomeOtherCar);

            // to show flexibility we decorate our first made car with RustyCar to show different 'decorations' work independently
            ICar baseRustyCar = new RustyCar(baseCar);

            showCarStats(baseRustyCar);
        }
Exemple #25
0
 protected Driver(RaceCar car)
 {
     Car = car;
 }
 public GroupOfClowns(RaceCar car) : base(car)
 {
     Name       = "Group of Clowns";
     SkillLevel = 1;
 }
 public Diego(RaceCar car) : base(car)
 {
     Name       = "Diego";
     SkillLevel = 9;
 }
 public Antonio(RaceCar car) : base(car)
 {
     Name       = "james";
     SkillLevel = 10;
 }
Exemple #29
0
 public GoodBuddy(RaceCar car) : base(car)
 {
     Name       = "Good Buddy";
     SkillLevel = 8;
 }
 public Ricardo(RaceCar car) : base(car)
 {
     Name       = "Ricardo";
     SkillLevel = 13;
 }
Exemple #31
0
 public LifterJerry(RaceCar car) : base(car)
 {
     Name       = "Big man Jerry";
     SkillLevel = 2;
 }