list и iterator

В этой теме 4 ответа, 2 участника, последнее обновление  Raf_Tank 7 года/лет, 2 мес. назад.

Просмотр 5 сообщений - с 1 по 5 (из 5 всего)
  • Автор
    Сообщения
  • #4506

    Raf_Tank
    Участник
    Сообщений:12

    Зарегистрирован:
    27.01.2017

    Репутация:2

    Всем доброго времени суток. Как понятно из названия вопрос будет по спискам. Я уже знаю как работать с одним списком, например:

    т.е. в коде выше я создаю список CH , который включает в себя объекты класса chisla, и указатель (итератор) к этому листу. Далее в цикле прохожусь по всем объектам списка и реализую для них функцию getRand, которая генерирует рандомное число и присваивает его переменной randomedcount. И если у какого-то элемента списка это число равно нулю, то этот элемент удаляется.

    Но как работать одновременно с двумя списками? Например я прохожусь по всем элементам списка1 и сравниваю его с ПЕРВЫМ элементом списка2, если совпадений нет, то начинаю опять сравнивать ВСЕ элемента списка1 со ВТОРЫМ элементом списка2, если есть совпадение, то например вывожу на экран: the same и так далее пока не кончатся элементы списка2. Пробовал цикл в цикле, но либо не работает, либо вообще вылетает. Нужна помощь…

    #4507

    Serge
    Участник
    Сообщений:13

    Зарегистрирован:
    16.01.2017

    Репутация:2

    Посмотрите на этот код, может поможет, здесь я привёл с совпадением чисел int из двух списков

    #4508

    Raf_Tank
    Участник
    Сообщений:12

    Зарегистрирован:
    27.01.2017

    Репутация:2

    не работает (

    #4509

    Serge
    Участник
    Сообщений:13

    Зарегистрирован:
    16.01.2017

    Репутация:2

    Тогда, пожалуйста, весь код скиньте

    #4510

    Raf_Tank
    Участник
    Сообщений:12

    Зарегистрирован:
    27.01.2017

    Репутация:2

    Сам код, немного другой, нежели я писал в теме. В теме я писал для более простого восприятия. На самом деле у меня есть 2 класса enemy и bullet. К каждому из них есть список, и итератор. Далее код :

    Этими двумя циклами я реализую функцию move для каждого объекта классов, а также удаляю их. Теперь сама проблема. В каждом классе есть переменная bounds, это прямоугольники пуль и врагов, и когда они пересекаются, то пуля должна умирать, а враг терять здоровье, т.е. такое условие(если как-то совместить эти циклы): if (b->bounds.intersects(e->bounds)) { b->is_alive=0; e->hp-=1; }

    Собственно вот такая вот проблемка

     

Просмотр 5 сообщений - с 1 по 5 (из 5 всего)

Для ответа в этой теме необходимо авторизоваться.