@Alecxandrys

Как подойти к реализации данного механизма?

День добрый,
Есть массив объектов, созданных с помощью подобного конструктора:
function Squad(options)
{
    this.name=options.name || 'Unnamed';
    this.description=options.description || "This is one of unidentified warrior";

    this.commander=options.commander || false;
    this.cost=options.cost || 0;
    this.rules=options.rules || null;

    this.weaponSkill=options.weaponSkill || 0;
    this.ballisticSkill=options.ballisticSkill || 0;
    this.strength=options.strength || 0;
    this.toughness=options.toughness || 0;
    this.initiative=options.initiative || 0;
    this.speed=options.speed || 0;
    this.wound=options.wound || 0;
    this.attackCount=options.attackCount || 0;
    this.leadership=options.leadership || 0;
    this.armorSave=options.armorSave || 0;

    this.invulnerable=options.invulnerable|| 7;

    this.availableWeapon=options.availableWeapon || null;
    this.meleeWeapon=null;
    this.rangeWeapon=null;
}


Соответственно имеется массив этих отрядов, каждый со своими характеристиками, правилами и ценой, а так же оружием, которое будет взято из списка доступного.
Вопрос в том, как составить алгоритм, который будет формировать сборку по определённым правилам, которые можно задать.
Что то подобное можно сделать имея базу знании, но есть ограничения на язык и я не уверен что полностью задача покрывается.
Как подойти к решению задачи, какими инструментами можно воспользоваться?

P.S.
К примеру:
сейчас у массиве находится 3 типа отрядов: разведчик (только легкое оружие и дальний бой, дешев и быстр), тактический (силовая броня, чуть медленнее, ближний и дальний бой, вариативность оружия) и опустошители (чуть дороже тактички, чуть медленнее её, спектр вооружения почти как у ней, но пользуются эффективнее, не умеют в ближний бой).
Предположим ограничение в цене всей армии 100 очков. Эта цена 8 разведчиков , 5 тактических или 4 опустошителей, все с базовым оружием. Соответственно заданием правил хотелось бы определять, что за данную цену необходимо подобрать армию с максимальной огневой мощью на максимальной дальности (к примеру). или максимальную по размеру, или которая сможет взять максимум единиц дополнительного тяжелого вооружения
  • Вопрос задан
  • 233 просмотра
Решения вопроса 1
@Interface
Очень похоже на задачу о рюкзаке: https://ru.wikipedia.org/wiki/%D0%97%D0%B0%D0%B4%D...
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы