コード例 #1
0
ファイル: Game.cs プロジェクト: dragonmost/WindowsFormJam
 private void Battle(Mob mob)
 {
     if (mob.TakeDmg(1, Player))
     {
         mobs.Remove(mob);
     }
     Player.TakeDmg(mob.Attack);
 }
コード例 #2
0
ファイル: Game.cs プロジェクト: dragonmost/WindowsFormJam
        public void MobGeneration()
        {
            Random rng = new Random();
            int nbMob = rng.Next(3, 10);
            mobs = new List<Mob>();

            string cmd = "SELECT * FROM Mobs WHERE minFloor <= " + Floor.ToString() + "AND maxFloor >= " + Floor.ToString();
            DataTable dataTable = new DataTable();
            DB.ExecCmd(cmd, dataTable);

            for (int i = 0; i < nbMob; i++)
            {
                int mobId = rng.Next(0, dataTable.Rows.Count);
                var mobData = dataTable.Rows[rng.Next(0, dataTable.Rows.Count)];
                int cX = rng.Next(1,15);
                int cY = rng.Next(1,15);
                bool canSpawn = false;
                while (!canSpawn)
                {
                    cX = rng.Next(1, 15);
                    cY = rng.Next(1, 15);
                    if (currentMap[cX,cY] == "f")
                    {
                        canSpawn = true;
                        for (int j = 0; j < mobs.Count; j++)
                        {
                            if (mobs[j].X == cX && mobs[j].Y == cY)
                                canSpawn = false;
                        } 
                    }
                }
                Mob mob = new Mob((string)mobData["Name"], 
                    (int)mobData["baseHP"], 
                    (int)mobData["baseAttack"], 
                    cX, cY, 
                    (int)mobData["minLevel"], 
                    (int)mobData["baseExp"],
                    (int)mobData["baseGold"]);
                mobs.Add(mob);
            }
        }