public static List <des_point> sum(List <des_point> x, List <des_point> y) { /// Ищем в списке y все решения которые уже есть в списке x for (int i = 0; i < x.Count; i++) { for (int h = (i + 1); h < y.Count; h++) { if (x [i].num_des == y [h].num_des && y [h].weight != 0) { x[i].putweight(x [i].weight + y [h].weight); y [h].putweight(0); } } } /// добавляем в список x решения из y, которые останутся неприкаянными for (int i = 0; i < y.Count; i++) { if (y [i].weight != 0) { des_point temp = new des_point(); temp = y [i]; x.Add(temp); } } return(x); }
static public List <des_point> rule(int num) { List <des_point> res = new List <des_point> (); // Если есть приказ на атаку // Если полк не рассеян // Прокинуть проверку на умность int test = Decision.Off_brain_test(100f); des_point x; switch (test) { case (0): x = new des_point(1, 100); res.Add(x); break; case (1): x = new des_point(1, 60); res.Add(x); x = new des_point(0, 40); res.Add(x); break; case (2): x = new des_point(1, 20); res.Add(x); x = new des_point(0, 80); res.Add(x); break; } return(res); }