Ответы пользователя по тегу JavaScript
  • Как предусмотреть ошибку для паролей?

    @Karpion
    К чему этот пароль? Какого рода бывают ошибки?
    Ответ написан
    Комментировать
  • Как сделать скрипт поиска текста по странице чужого сайта, если нашелся текст то редиректить на нужную страницу своего?

    @Karpion
    Видимо, надо загрузить страницу в какую-то переменную, а дальше парсить её regex'ами.

    Но вообще, у Instagram/FaceBook/VKontakte/etc есть свой API - правильнее работать через него.
    Ответ написан
    Комментировать
  • Генерация изображений?

    @Karpion
    Canvas — элемент HTML5, предназначенный для создания растрового двухмерного изображения при помощи скриптов, обычно на языке JavaScript.
    Ответ написан
    6 комментариев
  • Перебор массива?

    @Karpion
    А что делать, если таких совпадений несколько?
    Ответ написан
  • Как отформатировать строку?

    @Karpion
    Не надо вставлять в исходную строку. Надо создать новую строку и переписывать в неё кусочки исходной строки, перемежаемые тегами.

    Также можно вставлять теги, начиная с конца строки. Тогда позиции не сместятся.

    Ну или держать переменную "смещение", куда суммировать длину всех добавленных тегов; это "смещение" надо будет добавлять к значениям, которые Вы берёте из "массива с элементами форматирования текста сообщения"
    Ответ написан
    Комментировать
  • Как брать данные с другого сайта и добавлять на свой?

    @Karpion
    Лучше всего - договорится с тем сайтом.
    Если нельзя - то загружать страницу в переменную и парсить.
    Ответ написан
    Комментировать
  • Верно ли условие задачи?

    @Karpion
    условие заставляет нас искать числа, при которых будет остаток при делении на 10 например
    Условие ничего не заставляет. И Вы его неверно поняли.

    "Вывести простые числа" - это "вывести такие числа, у которых при делении на меньшие есть остаток".

    Надо ли проверять остаток при делении на десять? Нет, не надо. Потому что мы ранее проверили остаток при делении на пять и на два; и если хотя бы в одном случае остаток был - то он будет и при делении на десять.
    Иными словами, надо проверять не "все меньшие числа", а только "все простые меньшие числа"; а для этого их надо сохранять в массиве.

    Кроме того, деление на два обычно не проверяют, а просто пишут программу так, чтобы она перебирала нечётные числа. А два - вносят в список отдельно.

    Можно оптимизировать ещё сильнее. Возьмём первые простые числа - например, 2,3,5; посчитаем их произведение = 30.
    Запишем числа от 0 до 29=30-1. Выкинем все числа, которые делятся на начальный список - останется x =1,7,11,13,17,19,23,29; в этом списке есть 1, коотрое считается не-простое; и нет чисел из начального списка.
    Запишем начальный список "2,3,5". Допишем к нему список "7,11,13,17,19,23,29" ("1" мы выкидываем).
    Теперь мы ищем простые числа в виде "x+n*30", где n от 1 и далее. Среди тех которые мы отбросили - простых точно не будет.

    Если проверять все числа подряд, то число проверок = 100%.
    Если проверять только нечётные числа, то число проверок = 50%.
    Если проверять в предложенном мной варианте, то число проверок = 8/30 = 26.7%, т.е. почти в четыре раза лучше, чем проверка всех чисел подряд (эффективность от сокращения перебора можно оценить как ln(30)=3.4).
    Ответ написан
    Комментировать
  • Как вывести нечетные числа в цикле While?

    @Karpion
    start=30; finish=40;
    
    num=start-(start%2)+1;
    while(num<=finish) {
    	console.log(num);
    	num+=2;
    }
    Ответ написан
    Комментировать
  • Кто может объяснить суть решения задачи?

    @Karpion
    MagicMight уже ответил.
    Добавлю, что для понимания можно добавить печать "n % 10" до изменения n и "n" после изменения. И смотреть, какие значения там будут.
    Ответ написан
    Комментировать
  • Как сделать контролируемые обмены в онлайн-игре?

    @Karpion
    Я не понял проблемы.

    Где игроки собирают вещи? В процессе игры - подбирают с земли, берут с лута?
    Я бы сделал так, что собрать можно только сырьё; а вещи - скрафтить самостоятельно или купить у соответствующих мастеров. Причём мастера делают вещи только когда у них есть сырьё; и цены на вещи-и-сырьё зависят от соотношения спроса и предложения.
    Готовые вещи - можно снять с разбойников, но никак не с животных.

    У кого можно "обменять 10 вещей одинаковой ценности на одну вещь ценностью выше"? У других игроков? У NPC-торговца?
    (Кстати, тут лучше говорить не "ценность вещи", а "класс" или "категория".)

    Если речь о торговле между игроками - то пусть меняют как хотят. Любые ограничения в этой области - дико раздражают.

    Я не понял фразу "10 вещей ценностью ниже могут в сумме стоить дороже одной вещи ценностью выше или же наоборот". Откуда вообще берётся понятие "стоимость"?

    Я вообще советую не делить вещи на категории. Т.е. у вещей есть только цена в деньгах - для торговли; и сырьё + мастерство для изготовления.
    При этом - изготавливать вещи могут как NPC-мастера, так и игроки. Но игроку для этого надо долго прокачивать навык, портя при этом сырьё. А NPC-мастера есть не везде.

    Если Вы считаете, что у вещи есть какая-то стоимость - то Вы (как автор игры) задаёте эту стоимость всем NPC-торговцам. И понятно, что стоимость выражается в каких-то деньгах.
    Так вот, если NPC-торговец соглашается менять какие-то вещи на другие, но имеется расхождение по стоимости - то NPC-торговец требует от игрока доплатить некую сумму или же сам предлагает доплату.
    Если Вы хотите, чтобы NPC-торговец имел прибыль - то он должен постоянно делать перекос цен в свою сторону. Т.е. если я хочу поменять вещь Икс на вещь Игрек - то NPC-торговец требует доплатить 80 монет; а если я хочу поменять вещь Игрек на вещь Икс - то NPC-торговец предлагает мне доплату только 55 монет.

    Я бы хотел предупредить, что сильный перекос в сторону торговца - сильно раздражает игроков; будьте умерены в жадности.
    И я очень советую позволить игрокам расторгать сделку без пеней, если он это делает быстро (например, в течении часа после сделки) и никак не использовал купленную вещь. Т.е. "купил вещь - понял, что эта вещь не нужна - вернул торговцу".

    Следует разделить NPC-мастеров и NPC-торговцев.
    NPC-мастер - покупает сырьё и продаёт свою продукцию. Причём процесс производства - подчиняется законам сохранения.
    NPC-торговец торгует чем угодно; ну или группа NPC-торговцев делят товары сообразно своей специаизации, если так игрокам удобнее. Но NPC-торговец может торговать только тем, что у него есть. Товары он может покупать и у игроков, и у NPC-мастеров своего города. При этом NPC-торговец может создавать квесты на доставку каких-то предметов, неважно откуда: он просто выставляет заказ с некой ценой.
    Чтобы написать стратегию поведения NPC-торговцев - я советую пригласить студентов-экономистов в качестве курсового проекта или даже диплома. Надо договоритться с каким-нибудь экономическим ВУЗом, и каждый год студенты будут дописывать торговый алгоритм.
    Ответ написан
    3 комментария
  • Что не так с этим кодом?

    @Karpion
    Может, после text: '✅' надо поставить ; ?
    Не знаю, поможет ли - но если никто ничего более умного не советует, то проверить недолго.

    Хотя нумерация строк странная...
    Ответ написан
    Комментировать
  • Случайные числа с заданной сумой, какой алгоритм?

    @Karpion
    Проблема в том, что сделать у всех трёх чисел равномерное распределение - не получится. Вы бы написали, зачем это нужно.

    Мне кажется, надо кинуть на отрезок длины 100 три точки, чтобы разделить его на четыре части. Полученные три числа - отсортировать.

    Проблема: числа могут получиться одинаковыми.
    Решение: Кидаем три точки на отрезок длиной 94=100-1-2-3. Сортируем отрезки. Потом к первому прибавляем 3, ко второму прибавляем 2, к третьему прибавляем 1 - это если нужны целые числа.
    Ответ написан
    Комментировать
  • Как изменить определенные детали не меняя всей картинки?

    @Karpion
    Ну, можно навесить на одно место несколько картинок с прозрачным фоном. И по кликам - загружать разные картинки в разные места.

    Ещё хорошей идеей выглядит управление анимированной GIF-картинкой, в которой хранятся все варианты цвета, все варианты обвески, etc. Но я не уверен, что это возможно. И плохо то, что всё будет грузиться сразу.
    Ответ написан
    Комментировать
  • Cимуляция движения тела по орбите?

    @Karpion
    Почитайте что-нибудь популярное про небесную механику. По окружности тела двигаются только если имеют строго первую космическую скорость.

    Движение тела надо решать по методу Эйлера.
    Ответ написан
  • Как скачать изображение с абсолютным путем?

    @Karpion
    Правильная ссылка на изображение = https://avatars.mds.yandex.net/get-pdb/2333633/4a4...
    А Ваша ссылка https://codepen.io/4zhar12/pen/XWbobWE - ведёт на HTML-страницу, содержащую в т.ч. это изображение.
    Ответ написан
    Комментировать
  • Как изменить элемент в нужную дату и время?

    @Karpion
    Если страница не открыта, то как можно что-то поменять?

    Ваша задача распадается на две:
    1. При загрузке страницы - надо поместить в элемент нужное значение в соответствии с текущим временем.
    2. Затем надо вычислить, сколько времени осталось до следующего изменения - это не очень тривиально, но и не запредельно сложно; я уверен, что есть стандартные или библиотечные функции. И затем выставить setTimeout.
    Идея проверять каждую секунду - отвратительная, ибо грузит процессор клиента/браузера.
    Ответ написан
    Комментировать
  • Как написать регулярное выражения для записи процентов?

    @Karpion
    Надо навесить на поле input обработчик, который вызывается при каждом изменении содержимого - не помню название. Далее в нём надо сравнивать значение инпута - хорошо ли оно весьма или нет. Если не хорошо - то вернуть то, которое было для изменения. Если хорошо - то запомнить новое значение как "последнее хорошее".

    Я не понял, какой число м.б. в поле ввода, т.е. какое считается хорошим. Не факт, что число следует проверять регекспом - есть варианты.
    Ответ написан
  • Как сделать проверку перед циклом?

    @Karpion
    Очевидно, надо весь цикл взять в условие. Примерно так:
    if (строка_не_пустая) for (...) {
    	...
    }
    Ответ написан
    Комментировать
  • Как сделать чтобы при нажатии на ссылку происходил скролл вниз?

    @Karpion
    Ссылка: <A HREF="#vniz">
    Якорь там, куда надо перейти (в данном случае - внизу страницы): <A NAME="vniz">
    Обратите внимание на то, что в одном месте есть диез (решётка) а в другом его нет.
    Ответ написан
    2 комментария
  • Как правильно найти подматрицу?

    @Karpion
    А где ошибка-то? Во втором случае - надо 1.
    Ответ написан
    Комментировать