ФорумРазработкаРазработка игр → Помощь с алгоритмом

Помощь с алгоритмом

  • abasov90

    Сообщения: 10 Репутация: N Группа: Кто попало

    Spritz 28 апреля 2017 г. 21:52

    Привет народ! Есть задача, хорошее решение которой в голову не приходит.

    Есть тело человека, нужно отследить попадания. Попадания фиксируют: голова, тело (от шеи до таза), верх правой ноги/низ правой ноги, верх левой ноги/низ левой ноги.
    После того, как мы отследили попадание, нужно понять - что попало (для того чтобы понять как реагировать). Попасть могут две руки (врага) и две ноги (врага). То есть, что мы имеем? Враг бьет в голову и мы должны понять, куда он попал и чем он бил.

    Есть такое решение, грубое и мне оно не нравится.

    
    //  если попало в голову
    if (OwnerBodyPartName == "mixamorig:Head")
    { 
                // если попала левая рука
                if (IncomingObjName == "mixamorig:LeftHand")
                {
    
                }
                // если попала правая рука
                else if (IncomingObjName == "mixamorig:RightHand")
                {
    
                }
                // ну и.т.д
                else if (IncomingObjName == "mixamorig:LeftToeBase")
                {
    
                }
                else if (IncomingObjName == "mixamorig:RightToeBase")
                {
    
                }    
    }
    

    и так на все части тела. Получаются многоэтажные if else if. Как вы поступили?

    Спустя 152 сек.

    Стоило задать вопрос в ветке про игровое программирование)

  • Sinkler

    Сообщения: 7958 Репутация: N Группа: в ухо

    Spritz 28 апреля 2017 г. 21:57, спустя 4 минуты 27 секунд

    Стоило задать вопрос в ветке про игровое программирование)

    @abasov90, перенёс

  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 29 апреля 2017 г. 13:47, спустя 15 часов 49 минут 55 секунд

    я бы паковал в 2 вложенных for конечно по списку элементов что и куда может прилететь, на выходе массив (либо сразу калбеки при попадании) или объект с тем что и куда попало. Дальше не знаю вашей логики и где это используется. Там все depends.

    Сапожник без сапог
  • iesyyw2

    Сообщения: 9 Репутация: N Группа: Кто попало

    Spritz 18 ноября 2020 г. 23:40, спустя 1299 дней 9 часов 52 минуты

    Азартные развлечения https://qwebdevelopment.com/net-entertainment/](https://qwebdevelopment.com/net-entertainment/) доступны в неограниченном количестве, радуют разнообразием, непредсказуемыми поворотами. Ценители драйва смогут проводить в казино неограниченное количество времени, тестировать новинки, популярные развлечения, которым нет равных.

Пожалуйста, авторизуйтесь, чтобы написать комментарий!