コード例 #1
0
        private List<int> TurnOrder = new List<int>(); //List of InstanceIDs

        #endregion Fields

        #region Constructors

        public BattleV2(Party playerParty, Party foeParty)
        {
            this.friend = playerParty.getActiveParty()[0];
            this.friend.setInstanceID(nextID);
            nextID++;
            //this.TurnOrder.Add(this.friend.getInstanceID());

            foreach (Entity tmpFoe in foeParty.getActiveParty())
            {
                tmpFoe.setInstanceID(nextID);
                //this.TurnOrder.Add(tmpFoe.getInstanceID());
                foes.Add(tmpFoe.getInstanceID(), tmpFoe);
                nextID++;
            }
            this.foe = foeParty.getActiveParty()[0];
            this.dataOut = "You, " + this.friend.name + ", have encountered a level " + this.foe.getLevel() + " " + this.foe.name + "\r\n";
            OrderParicipents();
        }
コード例 #2
0
        public Battle(Party tmpPlayerParty, Party tmpFoeParty)
        {
            int nextInstanceID = 0;
            foreach (Entity tmpEnt in tmpPlayerParty.getActiveParty())
            {
                tmpEnt.setInstanceID(nextInstanceID);
                AllyInstanceIDs.Add(tmpEnt.getInstanceID());
                nextInstanceID++;
                orderedParticipents.Add(tmpEnt);
            }

            foreach (Entity tmpEnt in tmpFoeParty.getActiveParty())
            {
                tmpEnt.setInstanceID(nextInstanceID);
                foesInstanceIDs.Add(tmpEnt.getInstanceID());
                nextInstanceID++;
                orderedParticipents.Add(tmpEnt);
            }

            this.playerParty = tmpPlayerParty;
            this.foeParty = tmpFoeParty;
            this.currentEntity = this.playerParty.getActiveParty()[0];
        }
コード例 #3
0
 private bool generatePlayers()
 {
     bool generated = true;
     if (this.dgvEntities.SelectedRows.Count == 0)
     {
         generated = false;
         MessageBox.Show("Please Select your player");
     }
     else
     {
         int tmpID = Int32.Parse(this.dgvEntities.SelectedRows[0].Cells[0].Value.ToString());
         Entity selectedEntity = (Entity)this._entityBossWrapper.getEntity(tmpID);
         List<Entity> playerPartyList = new List<Entity>();
         playerPartyList.Add(selectedEntity);
         this._playerParty = new Party(playerPartyList, this.playerPartySize);
     }
     return generated;
 }
コード例 #4
0
        /*private bool generatePlayers()
        {
            bool generated = true;
            List<Entity> player = new List<Entity>();
            int i = 0;
            while (i < this.playerPartySize)
            {
                List<EntityAbstract> entityAbstracts = this._entityBossWrapper.getEntities();
                List<Entity> potentialEntities = new List<Entity>();
                foreach (EntityAbstract tmpEntity in entityAbstracts)
                {
                    if (((Entity)tmpEntity).getLevel() >= this.minLevel)
                    {
                        potentialEntities.Add((Entity)tmpEntity);
                    }
                }

                if (potentialEntities.Count > 0)
                {
                    int selected = TurnBasedPractice.RandomInt.r.Next(0, potentialEntities.Count);
                    Entity newEntity = potentialEntities[selected];
                    player.Add(newEntity);
                }
                else
                {
                    MessageBox.Show("Not enough potential Player Characters");
                    generated = false;
                }

                i++;
            }

            if (generated)
            {

                this._playerParty = new Party(player, this.playerPartySize);

                generatePlayerInventory();
            }

            return generated;
        }*/
        private bool generateFoes()
        {
            bool generated = true;
            List<Entity> foes = new List<Entity>();
            if (this.cBosses.Checked)
            {
                List<EntityAbstract> entityAbstracts = this._entityBossWrapper.getEntities();
                List<Entity> potentialEntities = new List<Entity>();
                foreach (EntityAbstract tmpEntity in entityAbstracts)
                {
                    if (((Entity)tmpEntity).getLevel() > this.minLevel)
                    {
                        potentialEntities.Add((Entity)tmpEntity);
                    }
                }

                if (potentialEntities.Count > 0)
                {

                    int selected = TurnBasedPractice.RandomInt.r.Next(0, potentialEntities.Count);
                    Entity newEntity = potentialEntities[selected];
                    foes.Add(newEntity);
                }
                else
                {
                    MessageBox.Show("Not enough Potential Bosses");
                    generated = false;
                }

            }

            List<EntityAbstract> entityAbstractsTemplates = this._entityTemplateWrapper.getEntities();
            List<EntityTemplate> potentialEntityTemplate = new List<EntityTemplate>();
            foreach (EntityAbstract tmpEntity in entityAbstractsTemplates)
            {
                EntityTemplate tmpTemplate = (EntityTemplate)tmpEntity;
                if (tmpTemplate.getMinLevel() <= this.minLevel)
                {
                    potentialEntityTemplate.Add((EntityTemplate)tmpEntity);
                }
            }

            if (potentialEntityTemplate.Count > 0 && foes.Count != foePartySize)
            {

                int i = foes.Count();
                while (i < foePartySize)
                {
                    int selected = TurnBasedPractice.RandomInt.r.Next(0, potentialEntityTemplate.Count);
                    int level = TurnBasedPractice.RandomInt.r.Next(this.minLevel, this.maxLevel);
                    Entity tmpNewEntity = new Entity(potentialEntityTemplate[selected], level);
                    foes.Add(tmpNewEntity);
                    i++;
                }

                this._foeParty = new Party(foes, this.foePartySize);
            }
            else
            {
                generated = false;
            }

            return generated;
        }