Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        private void Init(int id, Player player)
        {
            _id = id;
            _player = player;

            this._movementPoint = 2;
            this._movementPointLeft = this._movementPoint;
        }
Esempio n. 3
0
 public Hero(int id, Player player)
     : base()
 {
     Init(id, player);
 }
Esempio n. 4
0
        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);
        }
Esempio n. 5
0
        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);
        }
Esempio n. 6
0
        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);
            }
        }
Esempio n. 7
0
        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);
            //}
        }
Esempio n. 8
0
        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));
        }