• Как называются элементы CLI в NodeJS и какие их комбинации возможны?

    lastuniverse
    @lastuniverse
    Глупый или плохо сформулированный вопрос.
    Для nodejs существует множество приложений запуск которых из командной строки возможен с параметрами, при этом у каждого из таких "приложений" могут быть свои собственные параметры командной строки.
    Если же вы спрашиваете о параметрах командной строки самой nodejs, то просто введите в командной строке node --help
  • 2Д персонажи и анимация для игр?

    lastuniverse
    @lastuniverse
    Cayrus90, на сайте spine куча доки ru.esotericsoftware.com/spine-documentation и видеоуроков ru.esotericsoftware.com/spine-academy

    в общих черта процесс такой
    1. Сами персонажи рисуются художником (в любой проге для рисования)
    2. Затем перс нарезается на части:
    - голова
    - туловище
    - таз
    - плече
    - предплечье
    - кисть
    - бедро
    - голень
    - стопа
    3. затем в spine выбираете готовый скелет или формирует свой и накладываете на него эти нарезанные части
    4. затем в spine берете готовые анимации или создаете свои и накладываете на скелет
    5. сохраняете перса с анимациями либо в формате spine либо как обычный spritesheet и используете в своей игре
  • Где можно найти какие элементы есть в StarCraft & WarCraft и тд?

    lastuniverse
    @lastuniverse
    JoyRax, вот немного протосов (правда надо чуть подождать пока загрузит текстуры)

    https://jsfiddle.net/0q18oaz3/1/

  • Где взять комментарии для сайта?

    lastuniverse
    @lastuniverse
    Evgeniy S, уважаемый, приведите мне хоть один сервис (ну или хотябы его анонс) который позволяет безошибочно определить что/кто на любой произвольно взятой картинке.

    Боюсь что вы не найдете ни одного такого (просто потому что их не существует, как и технологий позволяющих в настоящее время решать столь широкую задачу даже на уровне ключевых слов)
  • Где взять комментарии для сайта?

    lastuniverse
    @lastuniverse
    Steppp, такие биржы называются "буксы"
  • Есть ли библа/плагин JS для формирования из таблицы excel?

    lastuniverse
    @lastuniverse
    сохраните данную станицу с таблицей как HTML-ку и просто откройте ее в excel-е
  • Как передать много текста на страницу и сохранить его в файл?

    lastuniverse
    @lastuniverse
    Александр Интересный, нет не так, в ссылке передается инфа при GET запросе и там действительно есть ограничение на объем, а вот POST / PUT запросы засунут инфу в тело запроса, и тут уже таких жестких ограничений нет
  • Как изменить переменную при resize на чистом JS?

    lastuniverse
    @lastuniverse
    WbICHA, даже если компы будут в 100500 раз быстрее, мы все равно сможем их подвешивать своим Г-кодом)))
  • Как реализовать таймер?

    lastuniverse
    @lastuniverse
    и больше в запускаемом файле кода нет?
  • Как реализовать таймер?

    lastuniverse
    @lastuniverse
    Данил Самусев, код который вы показали это не тот код который вы запускаете в nodejs!!!
    В nodejs нет функции alert();

    так что покажите тот код, который вы запускаете в nodejs и будем разбираться
  • Как реализовать такое?

    lastuniverse
    @lastuniverse
    Роми, уважаемый, все я понял, но вопрос был именно про анимацию:

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


    Так что в рамках вопроса вебсокет не обязателен)

    Если же говорить о рулетке как игре, то да, websocket-ы желательны, НО не для синхронизации анимации. Вот как примерно должен выглядеть обмен данными между клиентами и сервером (в случае мулитплеерного варианта игры).

    1. загрузка игры (html, css, js, картинок и прочего). Это дело осуществляется по протоколу http/https
    2. подключение к комнате/столу. Тут можно и по http/https (long-polling) и по websocket-у. Я бы вбрал одну из библиотек, которая умеет оба варианта в зависимости от возможностей клиента. Например тот же Socket.IO
    3. после выше описанных действий сам процесс игры требовал бы только следующий обмен данными:
    3.1. Доведение до участников стола о садящихся(подключающихся) за стол игроках и встающих (отключающихся). данный пункт через Socket.IO
    3.2. Доведение до участников стола о разрешении делать ставки. данный пункт через Socket.IO
    3.3. Доведение до участников стола о сделанных другими участниками ставках. данный пункт через Socket.IO. Так же в данном пункте разово передается информация для синхронизации момента старта рулетки.
    3.3. Доведение до участников стола о запуске рулетки (броске шарика). данный пункт через Socket.IO.
    Клиенты получая данную информацию запускают анимацию вращения рулетки и шарика. При этом скорость вращения и того и другого а также стартовую позицию шарика можно как получить от сервера, так и от ГПСЧ (вместо всех этих данных передается seed или стартовый индекс для ГПСЧ, а сами данные получаются уже от самой ГПСЧ как псевдослучайная величина). Оба варианта позволят сделать это синхронно, но вариант с ГПСЧ снизит нагрузку на сервер, что позволит серверу обслуживать большее число клиентов на тех же серверных мощностях. Дальнейшие пункты расписываю для варианта с ГПСЧ.
    3.4. Доведение до участников стола о завершении приема ставок. данный пункт через Socket.IO.
    в данном пункте так же передается seed или стартовое значение индекса для ГПСЧ, на основе которого от ГПСЧ клиенты получают информацию о времени вращения рулетки и шарика до остановки и информацию о конечном положении шарика. Клиенты обладая этой информацией синхронно рисуют анимацию процесса.

    Вкратце про ГПСЧ:
    - ГПСЧ - генератор псевдослучайных чисел
    - При инициализации одним и тем же seed-ом будет выдавать одну и туже последовательность случайных чисел
    - Многие реализации при инициализации одним и тем же seed-ом и запуске метода получения случайного числа с одним и тем же аргументов дадут одно и тоже случайное число. Это позволяет передав на разные клиенты одни и те же seed-ы и/или стартовые индексы добиться на клиентах идентичных псевдослучайных значений, управляющих анимацией вращения рулетки и шарика

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

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

    lastuniverse
    @lastuniverse
    Дмитрий Беляев, можно и так, суть от этого не меняется, все клиенты получат точку отсчета времени и смогут рисовать синхронно.
  • Как реализовать такое?

    lastuniverse
    @lastuniverse
    Для такой синхронизации не нужен websocket, для нее нужно лишь иметь на клиентах точное время.
  • Почему выпадает ошибка и как ее исправить?

    lastuniverse
    @lastuniverse
    Webstudent31, я почти уверен что ошибка не в коде валидатора, и чтобы это проверить попробуйте сделать так

    export class FormValidator {
        constructor(config, formElement) {
          this._config = config;
          this._formElement = formElement;
          this._inputList = Array.from(this._formElement.querySelectorAll(this._config.inputSelector));
          this._buttonElement = this._formElement.querySelector(this._config.submitButtonSelector);
    
          // проверяем входные данные
         this._inputList.forEach((v,i)=>{
             if(v === null)  console.log('!!!!',  i)
         })
         
        }


    и если в консоль уппадет сообщение типа "!!!! номер" то я прав и ошибка где-то в коде за пределами валидатора
  • Почему выпадает ошибка и как ее исправить?

    lastuniverse
    @lastuniverse
    Webstudent31, нет, вам нужно засунуть на кодепен какую нибудь простую форму и прикрутить к ней валидатор таким образом чтобы сохранилась ошибка.
  • Почему выпадает ошибка и как ее исправить?

    lastuniverse
    @lastuniverse
    Webstudent31, еще раз повторюсь, сделайте на codepen пример, воспроизводящий данную ошибку и тогда я смогу вам помочь
  • Почему выпадает ошибка и как ее исправить?

    lastuniverse
    @lastuniverse
    Webstudent31, дебажить собранный webpack-ом без source.map файла код? Как нибудь сами)))

    а так, судя по стактрейсу
    main.js:1 Uncaught TypeError: Cannot read properties of null (reading 'classList')
        at e.value (main.js:1)
        at main.js:1
        at Array.forEach (<anonymous>)
        at e.value (main.js:1)
        at HTMLElement.<anonymous> (main.js:1)


    у вас в массив this._inputList каким то образом затесался элемент null
    removeValidationErrors(){
          this._inputList.forEach((itemElement) => {
            // один из itemElement тут равен null
            this._hideInputError(itemElement)
          });
        }
  • Как в NodeJS создать несколько консолей?

    lastuniverse
    @lastuniverse
    а чем вас не устраивают существующие ssh клиенты?
  • Почему выпадает ошибка и как ее исправить?

    lastuniverse
    @lastuniverse
    _hideInputError(inputElement) {  
            const errorElement = this._formElement.querySelector(`.${inputElement.id}-error`);  
            inputElement.classList.remove(this._config.inputErrorClass);  // ругается на эту строчку
            ...


    а сама ошибка говорит о том, что inputElement у вас равен null. Для того чтобы узнать почему так выходит нужно смотреть рабочий код, а не тот огрызок, что вы показали на codepen. Потрудитесь прикрутить на codepen валидатор к html коду так, чтобы мы могли увидеть вашу ошибку, тогда и ответ появится быстрее