public Minion searchRandomMinion(List<Minion> minions, searchmode mode) { //get = 0 -> get lowest hp //get = 1 -> get highest hp //get = 2 -> get lowest attack //get = 3 -> get highest attack int get = (int)mode; if (minions.Count == 0) return null; Minion ret = minions[0]; int value = 0; switch (get) { case 1: value = 0; break; case 2: value = 2048; break; case 3: value = 0; break; default: value = 2048; break; } foreach (Minion m in minions) { if (m.Hp <= 0) continue; switch (get) { case 1: if (m.Hp > value) { ret = m; value = m.Hp; } break; case 2: if (m.Angr < value) { ret = m; value = m.Angr; } break; case 3: if (m.Angr > value) { ret = m; value = m.Angr; } break; default: if (m.Hp < value) { ret = m; value = m.Hp; } break; } } //if (ret.Hp <= 0) return null; return ret; }
public Minion searchRandomMinion(List<Minion> minions, searchmode mode) { //get = 0 -> get lowest hp //get = 1 -> get highest hp //get = 2 -> get lowest attack //get = 3 -> get highest attack //get = 4 -> get max attack/hp ratio //get = 5 -> get max hp/attack ratio int get = (int)mode; if (minions.Count == 0) return null; Minion ret = minions[0]; int value = ret.Hp; if (get >= 2) value = ret.Angr; if (get >= 4) value = 0; foreach (Minion m in minions) { if (m.Hp <= 0) continue; switch (get) { case 1: if (m.Hp > value) { ret = m; value = m.Hp; } break; case 2: if (m.Angr < value) { ret = m; value = m.Angr; } break; case 3: if (m.Angr > value) { ret = m; value = m.Angr; } break; case 4: if (m.Angr / m.Hp > value) { ret = m; value = m.Angr / m.Hp; } break; case 5: if (m.Hp / m.Angr > value) { ret = m; value = m.Hp / m.Angr; } break; default: if (m.Hp < value) { ret = m; value = m.Hp; } break; } } if (ret.Hp <= 0) return null; return ret; }