1. Алгоритмы. Поиск наибольшего значения

Поделиться
HTML-код
  • Опубликовано: 28 апр 2024
  • Задача - придумать алгоритм, для быстрого поиска самого высокого столбика.
    Робот знает только координаты каждого столба.
    Робот может исследовать только пространство на расстояние один блок от собственного положения влево-вправо-вперед-назад
    Робот не знает максимально возможной высоты столбов
    Если нет самой игры Minecraft Education Edition, но есть идеи по алгоритму, оставляйте их в комментариях.
    Офф страница покупки игры
    education.minecraft.net/ru-ru...
  • ИгрыИгры

Комментарии • 18

  • @minecraftprogramming
    @minecraftprogramming  14 дней назад

    Пока идёт мозговой штурм, я буду публиковать решения начиная с самого медленного. Они доступны на канале по ссылкам, чтобы избежать спойлеров для тех, кто ищет решение.
    1) Агент проверяет высоту каждого столба, выбирает самый высокий. (ruclips.net/video/XWI6JzAKq-A/видео.html)
    2) Агент проверяет высоту столбов, начиная с высоты самого высокого на текущий момент. (ruclips.net/video/01PkP4Oe87Q/видео.html)

  • @the_best9470
    @the_best9470 15 дней назад

    круто

  • @mideks
    @mideks 14 дней назад

    Нам в любом случае нужно извучить все столбики, потому что какой-то из них будет максимальной высоты, и мы не знаем какой. Поэтому, просто идём по всем столбикам, но... Сначала начинаем с высоты = 1. Если столбик выше этой высоты - поднимаемся до высоты столбика+1. Далее идём по всем столбикам на этой высоте. Если встретили снова блок на этой высоте - значит это новый самый высокий столбик. Ну и так топаем до конца))
    ...если конечно можно по воздуху перемещаться 🤔🤔

    • @minecraftprogramming
      @minecraftprogramming  14 дней назад

      Если в цифрах, то твой алгоритм предполагает 196 телепортаций от столбика к столбику + Z телепортаций на высоту самого высокого столба + 196 исследований блоков агентом. Как уменьшить эти значения?

  • @romcorn3731
    @romcorn3731 14 дней назад

    Попытка вторая. Т.к. мы знаем корды всех столбов, то пройтись по всем им труда не составит. Высоту проверим следующим образом. Телепортируем вниз первого столб и на один блок влево, а после телепортируем вверх пока справа не пустота (каждый раз когда он телепортируется записываем его координаты (только их надо сместить вправо на 1 блок)). После телепортуремся на x,z слудещего столба оставляя прежний Y. И повторяем цикл для всех кординотов столбов. Таким образом он занимает наывысшое значение среди всех пройденых им. А последние переданые нам координаты и есть координаты столба, так ещё и его высота.

    • @minecraftprogramming
      @minecraftprogramming  14 дней назад

      Да, это одно из самых быстрых решений

  • @monolit-8346
    @monolit-8346 14 дней назад

    Можно получить высоту всех столбиков в квадрате, в виде массива, и вернуть самое высокое значение. Интересно узнать решение.

    • @minecraftprogramming
      @minecraftprogramming  14 дней назад

      Робот не знает высоту столбов, он знает только координаты каждого столба. Чтобы узнать высоту каждого столба ему нужно каждый из 196 столбов исследовать, это самый долгий способ решения. Еще есть предложения?

  • @romcorn3731
    @romcorn3731 14 дней назад

    Не знаю как с этим роботом, но если я бы делал это на кб. То я бы проверял пустует ли плоскость в области на высоте робота, если нет то телепортируем выше и снова проверяем. Как найдём пустую плоскость проходимся по каждому столбу и останавливаемся когда под роботом будет блок

    • @monolit-8346
      @monolit-8346 14 дней назад

      Судя по видео - высота столбиков ограничена. Можно начать проверять сверху вниз, начиная с значения максимальной высоты для столбика.

    • @minecraftprogramming
      @minecraftprogramming  14 дней назад +1

      Робот не может проверить плоскость. Ему доступно для исследования только пространство слева-справа-впереди-сзади от собственной позиции (на один блок), в этом и сложность. Робот не знает максимальной высоты столба, знает только координаты каждого столба.

  • @maksim20128
    @maksim20128 4 дня назад

    Привет. Подскажи как изначально ты строишь столбики с помощью кода чтобы высота у всех была разная и не повторялась?

    • @minecraftprogramming
      @minecraftprogramming  4 дня назад

      Привет. Всё через случайные значения и там нет задачи, чтобы не было повторений, главное чтобы был самый длинный столб, его я создаю отдельно по случайной координате из списка

  • @Vorono4ka
    @Vorono4ka 15 дней назад

    видео классное! но как получить эту версию майнкрафта?

    • @minecraftprogramming
      @minecraftprogramming  14 дней назад

      вот офф страничка по лицензированию education.minecraft.net/ru-ru/licensing

  • @awuweweanecweweweubimubimosas
    @awuweweanecweweweubimubimosas 15 дней назад +1

    Я не понимаю зачем создавать мод на недоязык программирования , если можно писать на нормальных языках как c++, C# , java , и.т.п???

    • @minecraftprogramming
      @minecraftprogramming  14 дней назад +2

      Привет. Это не мод, а отдельная версия Майнкрафт для школ. Ученикам начальной школы писать на языках программирования высокого уровня еще слишком рано, а изучать азы на визуальном языке Scratch вполне доступно.

    • @awuweweanecweweweubimubimosas
      @awuweweanecweweweubimubimosas 14 дней назад

      @@minecraftprogramming я так-то обучал велика из 4ого класса языку c# , он нормально всё понимает . Просто когда пишешь на таком языке как в Майне тяжело переходить на другой . Мне с c# и с++ было тяжело переходить на питон из-за другого синтаксиса в основном. А с такого языка на стандартные языки программирования будет сложнее