public frmMap() { InitializeComponent(); _curDir = Application.StartupPath; #region Flags _isMultiPlayer = false; _isReadOnly = false; #endregion _players = new ArrayList(); _currentPlayer = null; _monsters = new Hashtable(); _mines = new ArrayList(); _rowCount = 11; _colCount = 19; CreateCells(); this.KeyPreview = true; this.KeyDown += new KeyEventHandler(Form1_KeyDown); this.FormClosing += new FormClosingEventHandler(frmMap_FormClosing); this.FormClosed += new FormClosedEventHandler(frmMap_FormClosed); }
private void Init(int id, Player player) { _id = id; _player = player; this._movementPoint = 2; this._movementPointLeft = this._movementPoint; }
public Hero(int id, Player player) : base() { Init(id, player); }
public frmMap3() { // Variable copy from frmMap.cs _curDir = Application.StartupPath; _players = new ArrayList(); _currentPlayer = null; _monsters = new Hashtable(); _mines = new ArrayList(); // End of Variable copy from frmMap.cs InitializeComponent(); this.StartPosition = FormStartPosition.CenterScreen; _mapTerrain = new Heroes.Core.Map.Terrain.MapTerrain(); //System.Reflection.Assembly asm = System.Reflection.Assembly.Load("Heroes.Core.Map"); //bigMap = Image.FromStream(asm.GetManifestResourceStream("Heroes.Core.Map.Images.2_s.bmp")); bigMap = Image.FromFile(_dirImages + "2.bmp"); minimap = Image.FromFile(_dirImages + "2_s.bmp"); timer1 = new Timer(); timer1.Interval = 10; timer1.Stop(); timer1.Tick += new EventHandler(timer1_Tick); timer2 = new Timer(); timer2.Interval = 500; timer2.Stop(); timer2.Tick += new EventHandler(timer2_Tick); timer3 = new Timer(); timer3.Interval = 30; timer3.Stop(); timer3.Tick += new EventHandler(timer3_Tick); timerMoveItem = new Timer(); timerMoveItem.Interval = 10; timerMoveItem.Stop(); timerMoveItem.Tick += new EventHandler(timerMoveItem_Tick); timerMoveItemCounter = 0; this.panelMiniMap.MouseClick += new MouseEventHandler(panel_MiniMap_MouseClick); this.panelBigMap.MouseClick += new MouseEventHandler(panelBigMap_MouseClick); this.FormClosed += new FormClosedEventHandler(frmMap3_FormClosed); this.dataGridView1.SelectionChanged += new EventHandler(dg_SelectionChanged); this.dataGridView2.SelectionChanged += new EventHandler(dg_SelectionChanged); this.dataGridView3.SelectionChanged += new EventHandler(dg_SelectionChanged); this.checkBox1.CheckStateChanged += new EventHandler(checkBox1_CheckStateChanged); this.checkBox2.CheckStateChanged += new EventHandler(checkBox2_CheckStateChanged); this.MouseWheel += new MouseEventHandler(frmMap3_MouseWheel); this.panel_top.MouseMove += new MouseEventHandler(panel_top_MouseMove); this.panel_rightTop.MouseMove += new MouseEventHandler(panel_rightTop_MouseMove); this.panel_rightBottom.MouseMove += new MouseEventHandler(panel_rightBottom_MouseMove); this.panel_right.MouseMove += new MouseEventHandler(panel_right_MouseMove); this.panel_leftTop.MouseMove += new MouseEventHandler(panel_leftTop_MouseMove); this.panel_leftBottom.MouseMove += new MouseEventHandler(panel_leftBottom_MouseMove); this.panel_left.MouseMove += new MouseEventHandler(panel_left_MouseMove); this.panel_bottom.MouseMove += new MouseEventHandler(panel_bottom_MouseMove); this.panel_center.MouseMove += new MouseEventHandler(panel_center_MouseMove); this.panelBigMap.MouseMove += new MouseEventHandler(panel_center_MouseMove); this.tabControl1.MouseMove += new MouseEventHandler(tabControl1_MouseMove); this.comboBox1.SelectedIndexChanged += new EventHandler(comboBox1_SelectedIndexChanged); }
private void CreateHero(Player player, int cellsRow, int cellsCol) { heroId += 1; Hero hero = new Heroes.Core.Map.Heros.Knight(); hero._id = heroId; hero._playerId = player._id; hero._player = player; hero._image = player._heroImage; player._heroes.Add(hero); // spells Heroes.Core.Spell spell = new Heroes.Core.Spell(); hero._spells.Add(spell._id, spell); picContainer = new PictureBox(); picContainer.Size = new Size(_mapTerrain.cellWidth, _mapTerrain.cellHeight); picContainer.Location = new Point(_mapTerrain.cellXYss[cellsRow][cellsCol][0], _mapTerrain.cellXYss[cellsRow][cellsCol][1]); picContainer.Image = player._heroHighlight; picContainer.BorderStyle = BorderStyle.None; this.picContainer.MouseClick += new MouseEventHandler(picContainer_MouseClick); this.panelBigMap.Controls.Add(picContainer); }
public void Initialize(int playerCount) { if (playerCount >= 1) { Player player1 = new Player(1); _players.Add(player1); _currentPlayer = player1; // player images player1._heroImage = Image.FromFile(string.Format(@"{0}\Images\Map\hero.png", _curDir)); player1._heroHighlight = Image.FromFile(string.Format(@"{0}\Images\Map\hero_r_tr.gif", _curDir)); player1._heroSelect = Image.FromFile(string.Format(@"{0}\Images\Map\hero_r_s.gif", _curDir)); player1._goldMine = Image.FromFile(string.Format(@"{0}\Images\Map\GoldMine_r.png", _curDir)); // castle //Town castle = new Town(1, Image.FromFile(string.Format(@"{0}\Images\Map\castle_r.png", _curDir))); //castle._player = player1; //player1._castles.Add(castle); //_cells[1, 1]._castle = castle; // create hero CreateHero(player1, 5, 5); //CreateHero(2, player1, 1, 7); } if (playerCount >= 2) { Player player2 = new Player(2); _players.Add(player2); // player image player2._heroImage = Image.FromFile(string.Format(@"{0}\Images\Map\hero_g.png", _curDir)); player2._heroHighlight = Image.FromFile(string.Format(@"{0}\Images\Map\hero_g_tr.gif", _curDir)); player2._heroSelect = Image.FromFile(string.Format(@"{0}\Images\Map\hero_g_s.gif", _curDir)); player2._goldMine = Image.FromFile(string.Format(@"{0}\Images\Map\GoldMine_g.png", _curDir)); player2._mineKTypes = new Dictionary<int, ArrayList>(); player2._mineKTypes.Add((int)Heroes.Core.MineTypeEnum.Gold, new ArrayList()); // castle //Town castle = new Town(2, Image.FromFile(string.Format(@"{0}\Images\Map\castle_g.png", _curDir))); //castle._player = player2; //player2._castles.Add(castle); //_cells[1, 17]._castle = castle; // create hero CreateHero(player2, 14, 16); //CreateHero(player2, 2, 17); } if (playerCount >= 3) { Player player3 = new Player(3); _players.Add(player3); // player image player3._heroImage = Image.FromFile(string.Format(@"{0}\Images\Map\hero_b.png", _curDir)); player3._heroHighlight = Image.FromFile(string.Format(@"{0}\Images\Map\hero_b_tr.gif", _curDir)); player3._heroSelect = Image.FromFile(string.Format(@"{0}\Images\Map\hero_b_s.gif", _curDir)); player3._goldMine = Image.FromFile(string.Format(@"{0}\Images\Map\GoldMine_b.png", _curDir)); player3._mineKTypes = new Dictionary<int, ArrayList>(); player3._mineKTypes.Add((int)Heroes.Core.MineTypeEnum.Gold, new ArrayList()); // Castle //Town castle = new Town(3, Image.FromFile(string.Format(@"{0}\Images\Map\castle_b.png", _curDir))); //castle._player = player3; //player3._castles.Add(castle); //_cells[9, 1]._castle = castle; // create hero CreateHero(player3, 20, 27); //CreateHero(6, player3, 9, 2); } if (playerCount >= 4) { Player player4 = new Player(4); _players.Add(player4); // player image player4._heroImage = Image.FromFile(string.Format(@"{0}\Images\Map\hero_y.png", _curDir)); player4._heroHighlight = Image.FromFile(string.Format(@"{0}\Images\Map\hero_y_tr.gif", _curDir)); player4._heroSelect = Image.FromFile(string.Format(@"{0}\Images\Map\hero_y_s.gif", _curDir)); player4._goldMine = Image.FromFile(string.Format(@"{0}\Images\Map\GoldMine_y.png", _curDir)); player4._mineKTypes = new Dictionary<int, ArrayList>(); player4._mineKTypes.Add((int)Heroes.Core.MineTypeEnum.Gold, new ArrayList()); // Castle //Town castle = new Town(4, Image.FromFile(string.Format(@"{0}\Images\Map\castle_y.png", _curDir))); //castle._player = player4; //player4._castles.Add(castle); //_cells[9, 17]._castle = castle; // create hero CreateHero(player4, 32, 31); //CreateHero(8, player4, 9, 16); } }
private void CreateHero(int heroId, Player player, int cellsRow, int cellsCol) { Hero hero = new Heroes.Core.Map.Heros.Knight(); hero._id = heroId; hero._playerId = player._id; hero._player = player; hero._image = player._heroImage; player._heroes.Add(hero); // spells Heroes.Core.Spell spell = new Heroes.Core.Spell(); hero._spells.Add(spell._id, spell); hero._cell = _cells[cellsRow, cellsCol]; hero._cell._hero = hero; { Armies.Pikeman c = new Heroes.Core.Map.Armies.Pikeman(); c._heroId = hero._id; c._playerId = hero._playerId; c.AddAttribute(hero); c._qty = 20; c._slotNo = 0; hero._armyKSlots.Add(c._slotNo, c); } //{ // Armies.Pikeman c = new Heroes.Core.Map.Armies.Pikeman(); // c._heroId = hero._id; // c._playerId = hero._playerId; // c.AddAttribute(hero); // c._qty = 10; // c._slotNo = 1; // hero._armyKSlots.Add(c._slotNo, c); //} //{ // Armies.Archer c = new Heroes.Core.Map.Armies.Archer(); // c._heroId = hero._id; // c._playerId = hero._playerId; // c.AddAttribute(hero); // c._qty = 10; // c._slotNo = 2; // hero._armyKSlots.Add(c._slotNo, c); //} //{ // Armies.Griffin c = new Heroes.Core.Map.Armies.Griffin(); // c._heroId = hero._id; // c._playerId = hero._playerId; // c.AddAttribute(hero); // c._qty = 10; // c._slotNo = 3; // hero._armyKSlots.Add(c._slotNo, c); //} }
public void NextPlayer() { // reset hero image foreach (Hero hero in _currentPlayer._heroes) { hero._image = _currentPlayer._heroImage; } // add resources int goldMineType = (int)Heroes.Core.MineTypeEnum.Gold; _currentPlayer._gold += (_currentPlayer._mineKTypes[goldMineType].Count) * 2000; if (gv._turnCount == 7) { gv._turnCount = 0; } else { gv._turnCount += 1; } if (gv._turnCount == 0) { gv._turnCount += 1; foreach (Heroes.Core.Town town in _currentPlayer._castles) { foreach (Heroes.Core.Army army in town._armyAvKIds.Values) { // hardcode growth 5 units army._qty += 20; } } } // get next player { int index = _players.IndexOf(_currentPlayer); index += 1; if (index >= _players.Count) index = 0; _currentPlayer = (Player)_players[index]; } // reset movement points foreach (Hero hero in _currentPlayer._heroes) { hero._movementPointLeft = hero._movementPoint; hero._image = _currentPlayer._heroHighlight; } Draw(); this.label_currentPlayer.Text = "Player " + _currentPlayer._id; this.label_gold.Text = _currentPlayer._gold.ToString(); this.label_heroes.Text = _currentPlayer._heroes.Count.ToString(); this.label_mines.Text = _currentPlayer._mineKTypes[goldMineType].Count.ToString(); // Do not pop message //MessageBox.Show(string.Format("Now is Player {0}", _currentPlayer._id)); }