private void Battle(Mob mob) { if (mob.TakeDmg(1, Player)) { mobs.Remove(mob); } Player.TakeDmg(mob.Attack); }
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); } }