Beispiel #1
0
    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);
    }