コード例 #1
0
ファイル: Bus.cs プロジェクト: brayan-schroeder/tcc
        public Bus(IVehicle.Physics p)
        {
            length = (GlobalRandom.Instance.Next(2) == 0) ? 120 : 180;

            _physics     = p;
            color        = Color.FromArgb(GlobalRandom.Instance.Next(256), GlobalRandom.Instance.Next(256), GlobalRandom.Instance.Next(256));
            _vehicleType = VehicleTypes.BUS;

            // maximale Beschleunigung
            a = 0.9;

            // komfortable Bremsverzögerung
            b = 1.0;
        }
コード例 #2
0
ファイル: Tram.cs プロジェクト: brayan-schroeder/tcc
        public Tram(IVehicle.Physics p)
        {
            length = (GlobalRandom.Instance.Next(2) == 0) ? 250 : 400;

            _physics = p;
            color    = Color.FromArgb(GlobalRandom.Instance.Next(256), GlobalRandom.Instance.Next(256), GlobalRandom.Instance.Next(256));

            // maximale Beschleunigung
            a = 1.0;

            // komfortable Bremsverzögerung
            b = 1.0;

            _vehicleType = VehicleTypes.TRAM;
        }
コード例 #3
0
ファイル: Car.cs プロジェクト: brayan-schroeder/tcc
        public Car(IVehicle.Physics p)
        {
            length = GlobalRandom.Instance.Next(28, 45);

            _physics = p;

            // etwas Zufall:
            a  *= (GlobalRandom.Instance.NextDouble() + 0.5);
            b  *= (GlobalRandom.Instance.NextDouble() + 0.5);
            s0 *= (GlobalRandom.Instance.NextDouble() + 0.5);
            T  *= (GlobalRandom.Instance.NextDouble() + 0.5);

            _physics.targetVelocity += ((GlobalRandom.Instance.NextDouble() - 0.5) * 4);

            color        = Color.FromArgb(GlobalRandom.Instance.Next(256), GlobalRandom.Instance.Next(256), GlobalRandom.Instance.Next(256));
            _vehicleType = VehicleTypes.CAR;
        }
コード例 #4
0
ファイル: Auftrag.cs プロジェクト: brayan-schroeder/tcc
        /// <summary>
        /// Lässt ein Auto am startNode losfahren
        /// </summary>
        /// <returns>true, if Vehicle was successfully created - otherwise false</returns>
        private bool CreateVehicle()
        {
            IVehicle.Physics p = new IVehicle.Physics(m_wunschgeschwindigkeit, m_wunschgeschwindigkeit, 0);

            IVehicle v = null;

            switch (m_vehicleType)
            {
            case IVehicle.VehicleTypes.CAR:
                if (GlobalRandom.Instance.Next(100) < truckRatio)
                {
                    v = new Truck(p);
                }
                else
                {
                    v = new Car(p);
                }
                break;

            case IVehicle.VehicleTypes.TRAM:
                v = new Tram(p);
                break;

            case IVehicle.VehicleTypes.BUS:
                v = new Bus(p);
                break;
            }

            // Neue Linie zum Weiterfahren bestimmen
            LineNode start = startNodes[GlobalRandom.Instance.Next(startNodes.Count)];

            if (start.nextConnections.Count > 0)
            {
                int foo = GlobalRandom.Instance.Next(start.nextConnections.Count);

                IVehicle.State state = new IVehicle.State(start.nextConnections[foo], 0);
                v.state       = state;
                v.targetNodes = endNodes;
                return(start.nextConnections[foo].AddVehicle(v));
            }

            return(false);
        }
コード例 #5
0
ファイル: Truck.cs プロジェクト: brayan-schroeder/tcc
        public Truck(IVehicle.Physics p)
        {
            length = (GlobalRandom.Instance.Next(2) == 0) ? 100 : 165;

            _physics = p;
            color    = Color.FromArgb(GlobalRandom.Instance.Next(256), GlobalRandom.Instance.Next(256), GlobalRandom.Instance.Next(256));

            // maximale Beschleunigung
            a = 0.6;

            // komfortable Bremsverzögerung
            b = 0.7;


            // etwas Zufall:
            a  *= (GlobalRandom.Instance.NextDouble() + 0.5);
            b  *= (GlobalRandom.Instance.NextDouble() + 0.5);
            s0 *= (GlobalRandom.Instance.NextDouble() + 0.5);
            T  *= (GlobalRandom.Instance.NextDouble() + 0.5);

            _physics.targetVelocity += ((GlobalRandom.Instance.NextDouble() - 0.5) * 4);
            _vehicleType             = VehicleTypes.CAR;
        }