• Как запретить выполнение function()?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Хак с заменой
    function play_sound_1(){
      var audio1 = new Audio ('audio/1.mp3'); 
      audio1.autoplay = true;    
      play_sound_2 = e => {};
    }
    
    function play_sound_2(){
      var audio2 = new Audio ('audio/2.mp3');
      audio2.autoplay = true;  
      play_sound_1 = e => {};
    }
    Внешняя переменная
    var is_sound_played = 0;
    
    function play_sound_1(){
      if (is_sound_played === 2) return;
      is_sound_played = 1;
      var audio1 = new Audio ('audio/1.mp3'); 
      audio1.autoplay = true;    
    }
    
    function play_sound_2(){
      if (is_sound_played === 1) return;
      is_sound_played = 2;
      var audio2 = new Audio ('audio/2.mp3');
      audio2.autoplay = true;  
    }
    Ответ написан
  • На что можно заменить дорогой Confluence?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Этим условиям удовлетворяет Google Docs.
    Ответ написан
    Комментировать
  • Цикл по объектам внутри объекта. Как сделать?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    this работает только внутри функции.
    Плюс нужно перечитать документацию о том, как работает перебор свойств объекта в js:
    а) for..in б) Object.keys() в) Object.entries()

    Работающий вариант примерно такой:
    for (let key_a in data) {
    	let input_object = data[key_a];
    	for (let key_b in input_object) {
    		let obj_b = input_object[key_b];
    		if (obj_b.value > 0) {
    			console.log(obj_b);
    		}
    	}
    }
    Ответ написан
  • Как отфильтровать по инпутам-чекбоксам массив элементов с помощью метода filter?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Не понятно, что именно вы хотите. То есть какую проблему вы решаете.
    Ловить события можно примерно так:
    https://jsfiddle.net/ayc2ekj0/
    Ответ написан
    Комментировать
  • Не работает querySelectorAll?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Результат querySelectorAll - это как бы массив.
    document.querySelectorAll('.div2')[0].style.width
    Ну и селектор не "div2", а ".div2", ибо нужно выделить класс.
    Ответ написан
    6 комментариев
  • Как бороться с десятичными числами(Decimal)?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Самый надежный способ - использовать только целые числа для внутреннего представления. Особенно актуально для валют.
    А уже при выводе в интерфейс пользователя делить на 100 или иным хитрым способом вставлять точку.
    Ответ написан
  • Книги про "Сети в компьютерных играх"?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Сетевая игра во многом пересекается по знаниям с пониманием компьютерных сетей вообще. Так что можно начать с изучения стека, а потом углубить изучение в том месте, которое вам более интересно. Книг очень много, но изучать можно и так, потому что информации по этой теме в Интернете тоже очень много.

    Есть, конечно, нюансы чисто игровые, но они сильно разнятся и зависят от игры. В шутерах одни слабые места, в стратегиях реального времени - другие. Про пошаговые молчу, там проблем практически нет, но если это типа ММО или игры с матч мэйкингом, то нюансы касаются нагрузки на сервер и т.д.

    P.S. Где вопрос про список ресурсов? Не смог найти.
    Ответ написан
  • Что рискованное можно сделать с 2 доменами (дял заработка), чтобы сайт мог попасть в бан, но при этом заработать на нем?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    • Берёте пиратский контент, запрещенный в большинстве стран.
    • Публикуете его очень красиво и наглядно.
    • Добавляете контекстную рекламу, с которой и будет доход.


    Если сайт по итогам не забанили, то:
    • Пишите правообладателю и дразните его, рассказывая, какой вы крутой и как его обвели вокруг пальца, бесплатно раздавая без авторских прав то, что он продает за деньги.
    • Пишите в соответствующие инстанции. Например, в Роскомнадзор. Жалуетесь на свой сайт.
    Ответ написан
    1 комментарий
  • Как заполнить пробелы в знаниях С#/Unity3d?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    По Unity, помимо документации, основной обучающий ресурс - learn.unity.com
    Для комфортного обучения есть платный вариант.
    Ответ написан
    Комментировать
  • Как сделать удар мечом в Unity 2D?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Сделайте хитбокс.
    Надеюсь, очевидно, что это такое (википедия).
    Ответ написан
    Комментировать
  • Что учить и нужно знать?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Эта игра написана на движке Alternativa3D с использованием устаревшей технологии Flash.

    Если вы web-программист, то должны понимать, что делать свою игру по той же технологии будет очень странно в 2019 году. Лучше смотрите в сторону WebGL. Конкретно можете изучить движок Unity, он умеет в HTML5 и в принципе позволяет создать браузерную игру.

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

    Для наглядности попробуйте самостоятельно определить целевую аудиторию этой игры, а значит и целевую аудиторию вашей будущей игры. Вы сами, кстати, тоже входите в эту аудиторию. То есть нужно понять, почему она цепляет именно вас и сколько вас таких, кого зацепит эта игра. Также понять, в каких странах популярен этот сеттинг. Это позволит, хоть и грубо, оценить потенциал игры. Но это совсем не просто. Товарищи из Wargaming в своё время жёстко ошиблись с аудиторией, хотя потом исправились. Ну а дальше можно прикинуть, какую часть этой аудитории можно перетянуть и как это сделать при том, что вы далеко не первый в этой нише. Станет ясно, что перспективы у такого клона довольно призрачны, и лучше поискать денег в другой сфере.
    Ответ написан
    3 комментария
  • Можно ли играя в игры улучшить память?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    На вопрос нельзя точно ответить, потому что научные опыты в этой области ещё не проводились. Есть гипотеза, что игры могут улучшать кратковременную и рабочую память, но доказательств пока нет.

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

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Инди покупают готовые ассеты в сторе.
    Ответ написан
    Комментировать
  • Какие кроссплатформенные фреймворки для создания мобильных игр сейчас популярны?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Unity. И это движок, а не "фреймворк".
    Еще можно Unreal Engine.
    Больше ничего не стоит использовать.

    Вообще некоторые отталкиваются от языка программирования, который знают, и затем уже подбирают движок/фреймворк. Но я не советую так делать. Лучше взять нормальный современный движок, и освоить используемый в нем ЯП. К слову, программирование - это лишь малая часть того, что нужно знать для создания нормальной игры.
    Ответ написан
  • Как подбирать оперативную память для ноутбука?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Точно можно 16 Гб согласно спецификации.
    Лучше брать не 1333, а DDR3L SDRAM (1600 MHz) согласно той же спецификации с официального сайта.

    И не бойтесь экспериментировать. Память бывает не подходит, поэтому почти во всех нормальных магазинах ее принимают обратно.
    Ответ написан
    Комментировать
  • Google Таблицы. Как избежать ошибки "Максимальное количество символов в одной ячейке: 50000"?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    парсер контента сайта в скриптах Google таблиц

    Вот это и есть главная ошибка.

    Арендуйте себе хостинг за 12 рублей в месяц (php+mysql), и запускайте там скрипты без ограничений. Так вы гораздо больше сэкономите на нервах и времени. А скупой, как известно, платит дважды.
    Ответ написан
    1 комментарий
  • Как избавиться от звонков продаванов (не брать трубку при незнакомых номерах не вариант)?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Не поднимать трубку, когда видите незнакомый номер.
    Сам номер можно потом загуглить при желании, но не подходить.
    Ответ написан
  • Выбор ЯП под определённую задачу?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    JavaScript

    А еще лучше Lua, потому что он учится за 15 минут, а вы - начинающий. Ладно, не 15 минут, у вас уйдет 2 часа, но не более.
    Ответ написан
    2 комментария
  • Как отфильтровать объект по массиву значений свойств?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Нужно инвертировать (преобразовать) массив в ассоциативный массив, дальше всё просто:
    var a = {
    	photo: 'фото',
    	video: 'видео',
    	img: 'рисунок'
    };
    
    var b = ['фото','видео'];
    
    function my_filter(obj, arr) {
    	let assoc = {}; //Ассоциативный массив, чтобы проверка была быстрой.
    	arr.forEach(e=>assoc[e]=1);
    	let result = {};
    	for (let prop in obj) {
    		if (assoc[obj[prop]]) result[prop] = obj[prop];
    	}
    	return result;
    }
    
    var filtered = my_filter(a, b);

    Если есть возможность формировать массив b изначально, как ассоциативный (то есть в виде объекта), то лучше так делать, чтобы скрипт быстрее работал на больших данных.
    Ответ написан
    Комментировать
  • Как происходит управление децентрализованными ботнетами?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Злоумышленник имеет у себя свою версию бота, только слегка продвинутую, с возможностью менять конфигурацию. По сути смена конфигов и будет считаться командой. Главный параметр - версия бота. Если она больше, чем у бота на соседней машине, то соседний бот захочет скачать новые файлы и конфиги и обновиться до более актуального состояния, а там и новый функционал подъедет.

    Другие боты расценивают бота на компе злоумышленника, как самого обычного бота. Они не знают, что злоумышленник настраивает его вручную. Таким образом, поймать его гораздо сложнее. Плюс такой ботнет устойчивее к разным проблемам в сети.

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

    Каждый бот хаотично опрашивает разные ip и ищет собратьев, сверяется с ними, у кого конфиг новее и правильнее. В случае чего - сразу обмен. Только в отличие от торрентов размеры файлов микроскопические, в современных сетях качаются почти моментально. Хотя, для незаметности можно не делать резких нагрузок на канал и растянуть удовольствие скачивания, но это уже отдельные тонкости.
    Ответ написан
    Комментировать