예제 #1
0
    private double forwardVelocity;             //Keeps a reference to the car's x-movement for easy access.

    void Start()
    {
        /*Create a BoxsterS object with default values to initialize the car.
         * It sets the starting-coordinates based on the position of the 3D-model in the world.*/
        //x0 = transform.position.x;
        //y0 = transform.position.y;
        //z0 = transform.position.z;
        vx0             = 0.0;
        vy0             = 0.0;
        vz0             = 0.0;
        time            = 0.0;
        density         = 1.2;
        car             = new SportsCar(x0, y0, z0, vx0, vy0, vz0, time, density);
        onGround        = false;
        triggerPosition = new Vector3(collisionTrigger.center.x, collisionTrigger.center.y, collisionTrigger.center.z);

        throttleInput   = 0;
        car.Throttle    = 0;
        previousX       = x0;
        previousZ       = z0;
        forwardVelocity = 0;

        //Send out references to other scripts containing the newly created car-object.
        guiScript.Car   = this.car;
        audioScript.Car = this.car;
    }
예제 #2
0
        public IAutomobile Parse(string str)
        {
            string[]    array = str.Split(new[] { ' ' }, 2);
            IAutomobile automobile;

            if (Convert.ToInt32(array[0]) == 1)
            {
                automobile = new Car();
            }
            else if (Convert.ToInt32(array[0]) == 2)
            {
                automobile = new SportsCar();
            }
            else if (Convert.ToInt32(array[0]) == 3)
            {
                automobile = new Truck();
            }
            else
            {
                throw new Exception("Invalid data");
            }
            automobile.Input(array[1]);

            return(automobile);
        }
        public string CreateCar(string type, string model, int horsePower)
        {
            var isInRepo = this.carRepo.GetByName(model);

            if (isInRepo != null)
            {
                throw new ArgumentException($"Car {model} is already created.");
            }

            ICar car = null;

            if (type == "Muscle")
            {
                car = new MuscleCar(model, horsePower);
            }

            if (type == "Sports")
            {
                car = new SportsCar(model, horsePower);
            }


            if (car != null)
            {
                this.carRepo.Add(car);
            }


            return($"{car.GetType().Name} {model} is created.");
        }
예제 #4
0
        public string CreateCar(string type, string model, int horsePower)
        {
            ICar car;
            ICar carFromRepository = carsRepository.GetAll().FirstOrDefault(x => x.Model == model);

            if (type == "Muscle")
            {
                if (carFromRepository != null)
                {
                    throw new ArgumentException(String.Format(ExceptionMessages.CarExists, model));
                }

                car = new MuscleCar(model, horsePower);
                carsRepository.Add(car);
            }
            else if (type == "Sports")
            {
                if (carFromRepository != null)
                {
                    throw new ArgumentException(String.Format(ExceptionMessages.CarExists, model));
                }

                car = new SportsCar(model, horsePower);
                carsRepository.Add(car);
            }

            return(String.Format(OutputMessages.CarCreated, type, model));
        }
예제 #5
0
        public string CreateCar(string type, string model, int horsePower)
        {
            type += "Car";

            ICar car = null;

            switch (type)
            {
            case nameof(MuscleCar):
                car = new MuscleCar(model, horsePower);
                break;

            case nameof(SportsCar):
                car = new SportsCar(model, horsePower);
                break;

            default:
                car = null;
                break;
            }

            if (this.carRepository.GetByName(model) != null)
            {
                throw new ArgumentException(string.Format(ExceptionMessages.CarExists, model));
            }

            this.carRepository.Add(car);

            return(string.Format(OutputMessages.CarCreated, type, model));
        }
예제 #6
0
        public string CreateCar(string type, string model, int horsePower)
        {
            ICar car = null;

            switch (type)
            {
            case "Muscle":
                car = new MuscleCar(model, horsePower);
                break;

            case "Sports":
                car = new SportsCar(model, horsePower);
                break;
            }

            var car1 = this.cars.GetByName(model);

            if (car1 != null)
            {
                throw new ArgumentException($"Car {model} is already created.");
            }

            this.cars.Add(car);

            return($"{car.GetType().Name} {model} is created.");
        }
예제 #7
0
        // 隐形类型变量的限制
        // ===================================================================
        static void VarRestrictions()
        {
            // 错误!必须分配值
            //var myData;

            // 错误!必须在声明时分配值
            //var myInt;
            //myInt = 0;

            // 错误!不能分配null作为初始值
            //var myObj = null;

            // 没问题,SportsCar是一个引用类型
            var myCar = new SportsCar();

            myCar = null;

            // 同样没问题
            var myInt      = 0;
            var anotherInt = myInt;

            string myString = "Wake up!";
            var    myData   = myString;

            // 不能定义可空的隐式变量,因为隐式变量的初始值不能设置为null
            //var? nope = new SportsCar();
            //var? stillNo = 12;
            //var? noWay = null;
        }
        public string CreateCar(string type, string model, int horsePower)
        {
            ICar car = null;

            if (type == "Muscle")
            {
                car = new MuscleCar(model, horsePower);
            }
            if (type == "Sports")
            {
                car = new SportsCar(model, horsePower);
            }
            if (carRepository.GetByName(model) != null)
            {
                throw new ArgumentException(String.Format
                                                (ExceptionMessages.CarExists, model));
            }
            if (car == null)
            {
                return(null);
            }
            carRepository.Add(car);
            return(string.Format
                       (OutputMessages.CarCreated, car.GetType().Name, model));
        }
예제 #9
0
 static void Main()
 {
     Console.WriteLine("***** Shared Assembly Client *****");
     _ = new SportsCar();
     Console.WriteLine("Sports car has been allocated.");
     Console.ReadLine();
 }
        static void Main(string[] args)
        {
            SportsCar c = new SportsCar();

            c.TurboBoost();
            Console.ReadLine();
        }
        public string CreateCar(string type, string model, int horsePower)
        {
            if (this.carRepository.GetAll().Any(c => c.Model == model))
            {
                throw new ArgumentException(string.Format(ExceptionMessages.CarExists, model)); // TODO: липсва 'd' на 'created'
            }

            ICar car = null;

            switch (type)
            {
            case "Muscle":
                car = new MuscleCar(model, horsePower);
                break;

            case "Sports":
                car = new SportsCar(model, horsePower);
                break;

            default:
                break;
            }

            this.carRepository.Add(car);

            return(string.Format(OutputMessages.CarCreated, car.GetType().Name, car.Model));
        }
예제 #12
0
        public string CreateCar(string type, string model, int horsePower)
        {
            var carExist = carRepository.GetByName(model);

            if (carExist != null)
            {
                throw new ArgumentException($"Car {model} is already created.");
            }

            Car car;

            if (type == "Muscle")
            {
                car = new MuscleCar(model, horsePower);
            }
            else if (type == "Sports")
            {
                car = new SportsCar(model, horsePower);
            }
            else
            {
                return("Greshen tip");
            }

            carRepository.Add(car);
            return($"{car.GetType().Name} {model} is created.");
        }
예제 #13
0
        private global::System.Collections.Generic.IReadOnlyList <global::Demo.IVehicle> ParseGetVehiclesVehicles(
            JsonElement parent,
            string field)
        {
            JsonElement obj = parent.GetProperty(field);

            int objLength = obj.GetArrayLength();
            var list      = new global::Demo.IVehicle[objLength];

            for (int objIndex = 0; objIndex < objLength; objIndex++)
            {
                JsonElement element = obj[objIndex];
                string      type    = element.GetProperty(TypeName).GetString();

                switch (type)
                {
                case "SportsCar":
                    list[objIndex] = new SportsCar
                                     (
                                     );
                    break;

                case "FamilyCar":
                    list[objIndex] = new FamilyCar
                                     (
                                     );
                    break;

                default:
                    throw new UnknownSchemaTypeException(type);
                }
            }

            return(list);
        }
예제 #14
0
 // Method to display all cars
 private void DisplayCars(List <Car> cars)
 {
     listView1.Items.Clear();
     foreach (Car c in cars)
     {
         if (c is Truck)
         {
             // Cast c to a Truck Object
             Truck t = (Truck)c;
             // create a listviewItem
             string[]     items = { t.Make.ToString(),
                                    t.Model.ToString(),
                                    t.Mileage.ToString("N0"),
                                    t.Year.ToString(),
                                    t.Price.ToString("C"),
                                    t.EngineSize.ToString(),
                                    t.AverageMpg.ToString(),
                                    " - ",
                                    t.MaxTowing.ToString(),
                                    t.CustomerID.ToString() };
             ListViewItem lvi = new ListViewItem(items);
             listView1.Items.Add(lvi);
         }
         else if (c is SportsCar)
         {
             // Cast c to a SportsCar Object
             SportsCar s = (SportsCar)c;
             // create a listviewItem
             string[]     items = { s.Make.ToString(),
                                    s.Model.ToString(),
                                    s.Mileage.ToString("N0"),
                                    s.Year.ToString(),
                                    s.Price.ToString("C"),
                                    s.EngineSize.ToString(),
                                    s.AverageMpg.ToString(),
                                    s.ZeroToSixty.ToString(),
                                    " - ",
                                    s.CustomerID.ToString() };
             ListViewItem lvi = new ListViewItem(items);
             listView1.Items.Add(lvi);
         }
         else
         {
             // create a listviewItem
             string[]     items = { c.Make.ToString(),
                                    c.Model.ToString(),
                                    c.Mileage.ToString("N0"),
                                    c.Year.ToString(),
                                    c.Price.ToString("C"),
                                    c.EngineSize.ToString(),
                                    c.AverageMpg.ToString(),
                                    " - ",
                                    " - ",
                                    c.CustomerID.ToString() };
             ListViewItem lvi = new ListViewItem(items);
             listView1.Items.Add(lvi);
         }
     }
 }
예제 #15
0
        static void CodeBase()
        {
            Console.ForegroundColor = ConsoleColor.Yellow;
            SportsCar car = new SportsCar();

            car.TurboBoost();
            Console.WriteLine("Sports car has been allocated.");
        }
예제 #16
0
    public static void Main(string[] args)
    {
        SportsCar sc = new SportsCar(); // only Sports car Object is created

        sc.VehicleSpecs();              // Vehicle class properties
        sc.CarSpecs();                  // Car class properties
        sc.SportsCarSpecs();            // Sports car properties
    }
예제 #17
0
        static void Main(string[] args)
        {
            Console.WriteLine("***** Fun with CodeBases *****");
            SportsCar c = new SportsCar();

            Console.WriteLine("Sports car has been allocated.");
            Console.ReadLine();
        }
예제 #18
0
        static void Main(string[] args)
        {
            Console.WriteLine("**** Fun With Code Base ****");
            SportsCar viper = new SportsCar();

            Console.WriteLine("SportsCar allocated");
            Console.ReadLine();
        }
예제 #19
0
        static void Main(string[] args)
        {
            var normalCar1 = new NormalCar();
            var normalCar2 = new NormalCar();

            var sportsCar = new SportsCar();
            var familyCar = new FamilyCar();
        }
예제 #20
0
 public static void Main()
 {
     Van mini = new Van();
     SportsCar hot = new SportsCar();
     GoForward(mini);
     Console.WriteLine();
     GoForward(hot);
 }
예제 #21
0
        static void Main()
        {
            Console.WriteLine("***** Shared Assembly Client *****");
            SportsCar c = new SportsCar();

            c.TurboBoost();
            Console.ReadLine();
        }
예제 #22
0
        static void Main(string[] args)
        {
            Console.WriteLine("**** Shared Assembly Client ****");
            SportsCar car = new SportsCar();

            car.TurboBoost();
            Console.ReadLine();
        }
예제 #23
0
        static void Main(string[] args)
        {
            Van       van = new Van();
            SportsCar car = new SportsCar();

            van.aroundTheBlock();
            car.aroundTheBlock();
        }
예제 #24
0
    public static void Main(string[] args)
    {
        Car car = new SportsCar();

        // TODO キャストを利用してSportsCarクラスに car 変数を代入してください。

        // TODO Turboメソッドを実行してください。
        // ※ スポーツカーは時速300で走った と表示されれば正解
    }
예제 #25
0
파일: Program.cs 프로젝트: khmelinin/Step
        static void Main(string[] args)
        {
            SportsCar sportcar = new SportsCar("Viper", 240, 60);

            sportcar.Acceleration();

            MiniVan minivan = new MiniVan();

            minivan.Acceleration();
        }
예제 #26
0
        //Notice: CarLibrary - Properties - CopyLocal: False
        static void Consuming()
        {
            Console.ForegroundColor = ConsoleColor.Yellow;

            SportsCar car = new SportsCar("Shared", 200, 100);

            car.TurboBoost();

            Console.WriteLine("Consumed");
        }
예제 #27
0
        static void UseSharedAssembly()
        {
            Console.ForegroundColor = ConsoleColor.Cyan;
            Console.WriteLine("=> use shared assembly");

            SportsCar sport = new SportsCar("Shared", 160, 60);

            sport.TurboBoost();

            Console.WriteLine("- Done");
        }
예제 #28
0
파일: Program.cs 프로젝트: MrBiggins/Home
        static void Main(string[] args)
        {
            var viper = new SportsCar("Viper", 240, 40);

            viper.TurboBoost();
            var mv = new MiniVan();

            mv.TurboBoost();
            Console.WriteLine("Done. Press Enter to terminate");
            Console.ReadLine();
        }
예제 #29
0
    public static void Main()
    {
        SportsCar sportcar = new SportsCar("Viper", 240, 40);

        sportcar.Acceleration();

        MiniVan minivan = new MiniVan();

        minivan.Acceleration();

        Console.ReadKey();
    }
예제 #30
0
        static void Main(string[] args)
        {
            // Make a sports car.
            SportsCar viper = new SportsCar("Viper", 240, 40);

            viper.TurboBoost();
            // Make a minivan.
            MiniVan mv = new MiniVan();

            mv.TurboBoost();
            Console.ReadLine();
        }
예제 #31
0
        static void Main(string[] args)
        {
            var newSportsCar = new SportsCar(FuelStatus.Empty, "Blue", 4);

            newSportsCar.Drive();
            newSportsCar.Refuel();
            newSportsCar.Brake();

            var newMotorBoat = new MotorBoat(FuelStatus.Full, "Gray", 15);

            newMotorBoat.Drive();
            newMotorBoat.Refuel();
        }
예제 #32
0
 static void Main(string[] args)
 {
     ListProcesses();
     ListSpecificProcess();
     EnumThreadsForPid(Process.GetCurrentProcess().Id);
     EnumModsForPid(Process.GetCurrentProcess().Id);
     //EnumModsForPid(4232);
     //StartAndKillProcess();
     //PStartInfo();
     ApplicationDomainDemo.DefaultAppDomain();
     ApplicationDomainDemo.ListAllAssembliesInAppDomain();
     ApplicationDomainDemo.InitDAD();
     CustomAppDomains.ListAllAssembliesInAppDomain();
     AppDomain ad = AppDomain.CurrentDomain;
     ad.ProcessExit += new EventHandler(ad_ProcessExit);
     SportsCar sc = new SportsCar();
     SportsCarTS ts = new SportsCarTS();
     Console.ReadLine();
 }
예제 #33
0
파일: Domain.cs 프로젝트: walrus7521/code
    static void TestContexts()
    {
        Console.WriteLine("******* Context stuff ******");
        SportsCar sport = new SportsCar();
        Console.WriteLine();

        SportsCar sport2 = new SportsCar();
        Console.WriteLine();

        SportsCarTS synchroSport = new SportsCarTS();
    }
예제 #34
0
 public override void Speed(SportsCar abstractSportsCar)
 {
     Console.WriteLine(GetType().Name + " is slower than " + abstractSportsCar.GetType().Name);
 }
예제 #35
0
 public abstract void Speed(SportsCar abstractFamilyCar);
예제 #36
0
 public Driver(CarFactory carFactory)
 {
     sportsCar = carFactory.CreateSportsCar();
     familyCar = carFactory.CreateFamilyCar();
 }