Разрабатываем умный SHUFFLE для игры «Пятнашки» на JavaScript

แชร์
ฝัง
  • เผยแพร่เมื่อ 10 พ.ย. 2024

ความคิดเห็น • 20

  • @YaniaRZ
    @YaniaRZ 2 ปีที่แล้ว +5

    Спасибо за то, что доделали до финального варианта, а не оставили, как было в прошлом уроке! Так еще больше понимаешь, насколько ценный материал даете!

  • @dr.margulis7773
    @dr.margulis7773 2 ปีที่แล้ว +2

    Добрый день, Елена! Всегда с нетерпением жду ваши уроки! Так объяснять материал, как это делаете Вы - дано далеко не каждому. Спасибо за ваш бесценный труд! 👏👏👏 👍

    • @webelart
      @webelart  2 ปีที่แล้ว +1

      Спасибо! ❤️

  • @ЕвгенийЕ-б9б
    @ЕвгенийЕ-б9б 2 ปีที่แล้ว +1

    Спасибо огромное за столь познавательное видео, ваш канал стал приятным открытием и хорошей помощью в изучении JS!👍

  • @nuZdarova
    @nuZdarova 2 ปีที่แล้ว +1

    Привет! Спасибо) Очень нравится то что вы делаете, требую ещё :) Дальнейших успехов

  • @richardsorge3965
    @richardsorge3965 2 ปีที่แล้ว

    Спасибо за видео, вы просто гений !

  • @MrSukhopar
    @MrSukhopar 2 ปีที่แล้ว +1

    Все у вас было правильно. В оригинальной игре костяшки с числами можно разместить абсолютно рандомно, они же с поля вытаскиваются и перемешиваются перед игрой. Ну и да есть комбинации не решаемые, как у многих других игр)) Но, за вариант беспроиграшный спасибо)

    • @webelart
      @webelart  2 ปีที่แล้ว +3

      Спасибо за комментарий! ❤️ Про игру костяшки не знала, надо поискать :))) По пятнашкам насколько понимаю может быть половина комбинаций из всех возможных - нерешаема, мне понравилось доказательство из этой статьи pyatnashki.wmsite.ru/kombinacyi.
      В любом случае да, теперь точно можно будет решить :)

  • @SamusikVitali
    @SamusikVitali 2 ปีที่แล้ว +1

    Классный урок!💪

  • @ВладимирКлыков-т5в
    @ВладимирКлыков-т5в 2 ปีที่แล้ว +3

    Минутка занудства:
    Усложняете алгоритм перемешивания, вам достаточно определить "пустую" клетку и далее X+/- 1(первые два возможных хода) и Y+/-1(еще два возможных хода) проверить на принадлежность игровому полю и прошлому ходу. нет необходимости перебирать весь массив игрового поля. Да, для игры в пятнашки это не создаст нагрузки, но к сожалению сейчас и ресурсоемкие задачи зачастую решают так же, без оптимизаций совсем, насмотревшись вот таких решений в лоб :)(весь код не смотрел и не слушал, просто за это мозг зацепился пока на фоне играл ваш ролик)

    • @webelart
      @webelart  2 ปีที่แล้ว +2

      Спасибо за комментарий, да можно и так проверить элементы. Это оптимальнее по производительности, особенно если бы мы имели поле 1млн на 1млн клеток. Но опять же как заметили, для игры пятнашки нагрузки не будет, массив 4 на 4. :)
      В целом мне понравилась идея с перебором, всё в одной функции определить и используя прошлые уже разработанные функции сделать проверку, плюс если вдруг появятся ещё дополнительные валидные поля (хоть это и вряд ли), решение будет работать железно. В любом случае в текущей задачи оба решения норм.
      А вот про ресурсоёмкие задачи, здесь уже зависит, как писать код и какие ресурсы хотите сохранить и где. Здесь обязательно нужен предварительный анализ. Иногда решение в лоб, особенно если оно выглядит более понятным использовать лучше, чем оптимизированную менее понятную версию. Здесь хорошо ложатся примеры с рекурсией и стеком на цикле. Рекурсивные решения обычно более лаконично и наглядно выглядят, а вот со стеком и циклом может получится более громоздко, но зато более производительно. И в тоже время рекурсия - это крутой инструмент и часто используется в программировании.

  • @AnatoliyMir
    @AnatoliyMir 2 ปีที่แล้ว

    Лайк! Есть ли смысл писать эту игру на ООП?

    • @webelart
      @webelart  2 ปีที่แล้ว

      Можно по разному реализовывать.

  • @darfil1663
    @darfil1663 2 ปีที่แล้ว

    Добрый день, было бы прикольно реализовать memory game)

  • @Tavda
    @Tavda 2 ปีที่แล้ว

    Перемешивает конечно красиво, но можно было сделать подобное просто в памяти, а уже результат перемешивания отобразить. Но это уже на вкус и цвет.

    • @webelart
      @webelart  2 ปีที่แล้ว

      Да, можно по разному :)) Спасибо за комментарий и что про баг рассказали в прошлом видео! ❤️

    • @Tavda
      @Tavda 2 ปีที่แล้ว +2

      @@webelart Накидал свой вариант. Ссылку на репозиторий на гитхабе кидать не буду, потому что ютуб удаляет подобные комментарии. Но если интересно, пользователь fsa, проект html5-fifteen. Там сборка проекта по другому, исходники другие. А вот внешний вид оставил как в уроках.

    • @webelart
      @webelart  2 ปีที่แล้ว

      @@Tavda Ваууу! Крутота! 🔥🔥🔥

    • @Tavda
      @Tavda 2 ปีที่แล้ว

      @@webelart Кстати, я на github ещё пару простеньких игрушек выкладывал (Sokoban и Snake). Столкнулся с проблемой на мобилках - если управление свайпами делаешь, то картинка прыгает из-за того, что в браузере адресная строка то появляется, то исчезает. Даже не знаю как исправить.

  • @ЭльвираСадыкова-э7г
    @ЭльвираСадыкова-э7г ปีที่แล้ว

    Перемена местами 14 и 15 делает нерешаемую задачу если нельзя использовать третий ряд снизу. Это был рекламный трюк изобретателей или производителей, обещали деньги за решение.