示例#1
0
 /// <summary>
 /// The main entry point for the application.
 /// </summary>
 static void Main(string[] args)
 {
     using (DangerousRoads game = new DangerousRoads())
     {
         game.Run();
     }
 }
示例#2
0
        public Level(IServiceProvider serviceProvider, DangerousRoads _game, int level_number, int windowWidth, int windowHeight)
        {
            content = new ContentManager(serviceProvider, "Content");
            game = _game;
            screenWidth = windowWidth;
            screenHeight = windowHeight;

            t = (DateTime.UtcNow - new DateTime(1970, 1, 1));
            timestamp = (int) t.TotalSeconds;
            random = new Random(timestamp); // Arbitrary, but constant seed

            LevelData levelData = content.Load<LevelData>( String.Format("Levels/Level_{0}", level_number));

            Name = levelData.Name;
            NumberOfLanes = levelData.NumberOfLanes;
            Length = levelData.Length*40*1000;
            Speed = levelData.Speed;
            StartFuel = levelData.StartFuel;
            CarProbability = levelData.CarProbability;
            CarSwitchLanesProbability = levelData.CarSwitchLanesProbability;
            CarMinSpeed = levelData.CarMinSpeed;
            CarMaxSpeed = levelData.CarMaxSpeed;
            OilLeakProbability = levelData.OilLeakProbability;
            FuelProbability = levelData.FuelProbability;
            RoadBlockProbability = levelData.RoadBlockProbability;
            TruckProbability = levelData.TruckProbability;
            RoadCrr = levelData.RoadCrr;

            LoadContent();

            ReachedFinish = false;
            roadWidth = NumberOfLanes * roadTileWidth;
            roadX1 = (windowWidth - roadWidth) / 2;
            roadX2 = roadX1 + roadWidth;
            playerCar = new PlayerCar(this, new Vector2( roadX1 + roadWidth/2, Length - PlayerCar.DrawingOffset - 70));
        }