public Barracks() { // * Barakker giver ikke mulighed for andre bygninger structureOptions = new List<Structure>(); trainingOptions = new List<Unit>(); Name = "Barracks"; // * Barakker kan bygge rifle-men. // * Man kan eventuelt sætte nogle specielle indstillinger her, // som en slags template for nybyggede enheder RifleInfantry templateRifleman = new RifleInfantry(); templateRifleman.SetSprite("run_down"); templateRifleman.MoveSpeed = 75; // * Dem vi laver her er altså ultra hurtige ;) templateRifleman.AttackPoints = 50; templateRifleman.Name = "Rifle infantry"; templateRifleman.Buildable = true; templateRifleman.BuildCost = 150; templateRifleman.BuildSpeed = 20; // * tælles 1 ned per gametick trainingOptions.Add(templateRifleman); IsSelectable = true; OccupationMatrix = new bool[2, 2] { { false, true }, { false, true } }; // * Højere z-index end units da units skal animere at de kommer ud af bygninger ZIndex = 500; // * Vælg standard animation LoadSprites(Barracks.Animations); SetSprite("make"); }
public GameController(Game engine, GameMap map) { this.game = engine; this.map = map; this.sounds = new GameSounds(); // * Indlæs animationer for diverse enheder RifleInfantry.InitializeGraphics(); Barracks.InitializeGraphics(); Refinery.InitializeGraphics(); Jeep.InitializeGraphics(); game.AddEntity(new MapBackground(map.GetSize(), map.GetTileSize())); }
public Barracks() { // * Barakker giver ikke mulighed for andre bygninger structureOptions = new List <Structure>(); trainingOptions = new List <Unit>(); Name = "Barracks"; // * Barakker kan bygge rifle-men. // * Man kan eventuelt sætte nogle specielle indstillinger her, // som en slags template for nybyggede enheder RifleInfantry templateRifleman = new RifleInfantry(); templateRifleman.SetSprite("run_down"); templateRifleman.MoveSpeed = 75; // * Dem vi laver her er altså ultra hurtige ;) templateRifleman.AttackPoints = 50; templateRifleman.Name = "Rifle infantry"; templateRifleman.Buildable = true; templateRifleman.BuildCost = 150; templateRifleman.BuildSpeed = 20; // * tælles 1 ned per gametick trainingOptions.Add(templateRifleman); IsSelectable = true; OccupationMatrix = new bool[2, 2] { { false, true }, { false, true } }; // * Højere z-index end units da units skal animere at de kommer ud af bygninger ZIndex = 500; // * Vælg standard animation LoadSprites(Barracks.Animations); SetSprite("make"); }
private void Form1_Load(object sender, EventArgs e) { game = new Game(); game.Initialize(panel1, panel1.DisplayRectangle.Size); game.InitializeGraphics(); game.InitializeSound(); game.InitializeResources(); game.InternalUpdate(); this.Show(); gameTickTimer.Enabled = true; animationTimer.Enabled = true; control = new GameController(game, new GameMap(new Size(32, 32), new Size(24, 24))); hoverTile = new GameEntity(); hoverTile.AddSprite("hover", new GameSprite(new SpriteFrame(new SpriteImage("resources/images/hover_tile.png", Color.Transparent), 1))); hoverTile.SetSprite("hover"); hoverTile.ZIndex = 200; // * Hold den nær jorden ift. infantry som er på 100 hoverTile.IsSelectable = false; RifleInfantry testUnit1 = new RifleInfantry(); RifleInfantry testUnit2 = new RifleInfantry(); RifleInfantry testUnit3 = new RifleInfantry(); RifleInfantry testUnit4 = new RifleInfantry(); testUnit1.WorldPosition = new Point(2, 2); testUnit2.WorldPosition = new Point(4, 1); testUnit3.WorldPosition = new Point(4, 2); testUnit4.WorldPosition = new Point(4, 3); testUnit1.MoveSpeed = 20; testUnit2.MoveSpeed = 50; testUnit3.MoveSpeed = 50; testUnit4.MoveSpeed = 40; control.PlaceEntity(testUnit1); control.PlaceEntity(testUnit2); control.PlaceEntity(testUnit3); control.PlaceEntity(testUnit4); control.PlaceEntity(hoverTile); // * Lav lidt skov Random rand = new Random(); for (int i = 0; i < 15; i++) { GameEntity tree = new GameEntity(); tree.AddSprite("idle", new GameSprite(new SpriteFrame(new SpriteImage( GameController.resourceRoot + "/images/trees/" + rand.Next(1, 6) + ".png", Color.Transparent), 1)) ); tree.OccupationMatrix = new bool[2, 2] { { false, true }, { false, false } }; tree.IsSelectable = false; tree.SetSprite("idle"); tree.WorldPosition = new Point( rand.Next(0, control.map.GetSize().Width), rand.Next(0, control.map.GetSize().Height) ); control.PlaceEntity(tree); } shouldRun = true; /* * RenderThread renderThread = new RenderThread(new RenderDelegate(this.RenderGame)); * ThreadStart threadStart = new ThreadStart(renderThread.Start); * new Thread(threadStart).Start(); // * Start renderingstråden */ }
private void Form1_Load(object sender, EventArgs e) { game = new Game(); game.Initialize(panel1, panel1.DisplayRectangle.Size); game.InitializeGraphics(); game.InitializeSound(); game.InitializeResources(); game.InternalUpdate(); this.Show(); gameTickTimer.Enabled = true; animationTimer.Enabled = true; control = new GameController(game, new GameMap(new Size(32, 32), new Size(24, 24))); hoverTile = new GameEntity(); hoverTile.AddSprite("hover", new GameSprite(new SpriteFrame(new SpriteImage("resources/images/hover_tile.png", Color.Transparent), 1))); hoverTile.SetSprite("hover"); hoverTile.ZIndex = 200; // * Hold den nær jorden ift. infantry som er på 100 hoverTile.IsSelectable = false; RifleInfantry testUnit1 = new RifleInfantry(); RifleInfantry testUnit2 = new RifleInfantry(); RifleInfantry testUnit3 = new RifleInfantry(); RifleInfantry testUnit4 = new RifleInfantry(); testUnit1.WorldPosition = new Point(2, 2); testUnit2.WorldPosition = new Point(4, 1); testUnit3.WorldPosition = new Point(4, 2); testUnit4.WorldPosition = new Point(4, 3); testUnit1.MoveSpeed = 20; testUnit2.MoveSpeed = 50; testUnit3.MoveSpeed = 50; testUnit4.MoveSpeed = 40; control.PlaceEntity(testUnit1); control.PlaceEntity(testUnit2); control.PlaceEntity(testUnit3); control.PlaceEntity(testUnit4); control.PlaceEntity(hoverTile); // * Lav lidt skov Random rand = new Random(); for(int i = 0; i < 15; i++) { GameEntity tree = new GameEntity(); tree.AddSprite("idle", new GameSprite(new SpriteFrame(new SpriteImage( GameController.resourceRoot + "/images/trees/" + rand.Next(1, 6) + ".png", Color.Transparent), 1)) ); tree.OccupationMatrix = new bool[2, 2] { { false, true }, { false, false } }; tree.IsSelectable = false; tree.SetSprite("idle"); tree.WorldPosition = new Point( rand.Next(0, control.map.GetSize().Width), rand.Next(0, control.map.GetSize().Height) ); control.PlaceEntity(tree); } shouldRun = true; /* RenderThread renderThread = new RenderThread(new RenderDelegate(this.RenderGame)); ThreadStart threadStart = new ThreadStart(renderThread.Start); new Thread(threadStart).Start(); // * Start renderingstråden */ }