c# – 如何管理多个增长列表?
发布时间:2020-12-15 23:30:00 所属栏目:百科 来源:网络整理
导读:该计划首先收集游戏中盟军/敌方奴才的数量. var eminions = MinionManager.GetMinions(Player.ServerPosition,1500 MinionTypes.All,MinionTeam.Enemy).ToList(); var aminions = MinionManager.GetMinions(Player.ServerPosition,1500,MinionTypes.All,Mini
该计划首先收集游戏中盟军/敌方奴才的数量.
var eminions = MinionManager.GetMinions(Player.ServerPosition,1500 MinionTypes.All,MinionTeam.Enemy).ToList(); var aminions = MinionManager.GetMinions(Player.ServerPosition,1500,MinionTypes.All,MinionTeam.Ally).ToList(); 然后我使用一个函数将列表中找到的每个对象转换为距离: emd.Add(eminions[0].ServerPosition.Distance(aminions[i].ServerPosition)); //the count is 5 我们的列表’emd’包含(aminions.Count)距离,在我们的示例中= 5. emd [0] = 500 这就是它变得棘手的地方,我们想要找出列表中最小距离的位置.如果我们理论化,我们可以看到它的emd [5] = 100.但我怎么得到’5’? 摘要:程序必须在列表中找到最小的数字,然后在列表中找到它所在的位置. 这是我尝试过的:我尝试比较每个数字以查看最小的数字,如果是真的,添加到新列表,我面临的问题是我创建了太多的列表,我不准备处理不同数量的小兵. var eminions = MinionManager.GetMinions(Player.ServerPosition,MinionTeam.Enemy).ToList(); var aminions = MinionManager.GetMinions(Player.ServerPosition,MinionTeam.Ally).ToList(); if (eminions.Count > 0 && aminions.Count > 0) { List<double> emd = new List<double>(); List<bool> bdistance = new List<bool>(); for (int i = 0; i < aminions.Count; i++) { emd.Add(eminions[0].ServerPosition.Distance(aminions[i].ServerPosition)); for (int j = 0; j < aminions.Count; j++) { if (emd[i] > emd[j]) { bdistance.Add(true); } } } } 解决方法
你可以轻松找到它!
var minIndex = emd.IndexOf(emd.Min()); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |