• Как вытянуть данные из строки через регулярные выражения PHP?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    ^(К?[0-9, ()м]+) (?:Ламінат|Акція Ламінат) ([A-Za-z0-9\/( .]*[\d)]) (.+?)(?: \(\d|\s*$)

    https://regex101.com/r/1PgPNP/5
    Ответ написан
    3 комментария
  • Как сделать отображение игры в discord?

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

    Картинки можно только те, которые Дискорд сам знает и одобряет, а не любые. А без картинки возможно, но каждую игру нужно добавлять отдельно.
    Ответ написан
    Комментировать
  • Пoдскажите источники информации?

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

    Например, заранее никто не мог догадаться, что иконка с кричащим мужиком сделает приложение очень популярным. Значит ли это, что кричащий мужик - обязательный элемент любой иконки? Нет. Когда все начинают делать иконки с кричащим мужиком, то парадоксально начинает выделяться уже иконка без кричащего мужика. Поэтому нельзя заранее сказать, что лучше - кричащий мужик, девушка, абстрактный рисунок или вообще черный квадрат Малевича. Чтобы выяснить, нужно все иконки испытать на небольшой выборке (А/B-тестирование), и это даст ответ.

    В общем и целом, если вы рекламируете/продаёте интересные и полезные вещи, то презентовать их гораздо проще. Так что лучше сфокусироваться на нужности и качестве товара, и на детальной правде о нём.
    Ответ написан
    Комментировать
  • Какой выбрать движок для разработки на слабом ПК?

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

    А сама игра начинается не с движка, а с документа, где хотя бы в 3 абзаца рассказывается, что она будет из себя представлять - концепт, вижн. Затем можно более подробно описать геймдизайн-документ (ГДД). Сделайте хотя бы это, чтобы было не стыдно показать.

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

    dollar
    @dollar
    Делай добро и бросай его в воду.
    (?<=[ ,;:\r\n])[яЯ](?=[^а-яА-ЯёЁ])
    spoiler
    5f5d8f290b87f688914896.png
    Ответ написан
    Комментировать
  • Где можно найти издателя казуальных инди игр?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Вот вам огромный список издателей:
    ссылка
    Ответ написан
    1 комментарий
  • Персонаж иногда прыгает на двойную высоту. Как это исправить?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    private void Jump() {
            rigidbody.AddForce(transform.up * jumpForce, ForceMode2D.Impulse);
    }

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

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

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Попробуй Process Explorer.
    Там легко посмотреть, кто больше всех грузил систему в любое время на интервале несколько минут назад.
    смотрю, что меня грузило 2 минуты назад
    5f5bf4122ba85800865706.png
    Ответ написан
  • Можно протоколы?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Можно протоколы?

    А можно нормально сформулировать вопрос?
    Пока что ответить могу так:
    - Протоколы можно, разрешаю.

    P.S. на закуску
    Ответ написан
    6 комментариев
  • Как создать 3д игру на 2д плоскости?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Для создания 3д с помощью 2д нужно придумать, как это сделать. Этим занимались в прошлом веке, когда мощь 3д карточек была низкая, никакая. В то время было много самопальных 3д-движков, сделанных на коленке. Каждый лепил, кто во что горазд.

    Одним из оригинальных примеров является игрушка Settlers 2. Она полностью 2д, но фоны и смещённые координаты сетки сделаны так, что появляется ощущение 3д.
    скриншот
    TS2HE_ThorlofTroll.jpg


    Также любая изометрия по сути является 2д. Правда, из-за ощущения 3д-шности её иногда называют 2.5д, то есть как бы между 2д и 3д.
    скриншот из jagged alliance 2
    2a0d319fe3eca926204052c3822da19122406e1f5472f911be982dd0dc034a40_product_card_v2_mobile_slider_639.jpg
    скриншот из project zomboid
    train.jpg


    В общем случае вам нужно именно придумать, в чём будет 3д изюминка именно вашей игры. И написать свой маленький 3д движок для этого, используя лишь 2д возможности. Сделать это можно очень по-разному. Один чудак даже умудрился сделать 3д игру на формулах в Excel.

    Однако я не советую вам заново изобретать велосипед. Проще взять за основу Unity или Unreal Engine - и сделать нормальную полноценную 3д игру, без каких-либо ограничений 2д-шности.

    Лучше сосредоточиться на том, чтобы игра получилось интересной. Ведь именно это делает игру классной и привлекательной. Вот вам пример (стим) простой и дешёвой игры, которая хоть и выглядит убого, но это такой ретро-стиль. Она является полностью 3д. И её прохождение - это очень приятное и интересное приключение на вечер. Сложного управления камерой, как это обычно бывает в 3д играх, там нет, то есть камера полностью автоматическая. Управление - стрелками, словно это платформер. Сделать нечто похожее было бы прикольно, но всё же лучше придумать свою собственную оригинальную идею, которую ещё никто не делал, и реализовать. Для этого нет готовых рецептов, увы.
    Ответ написан
    Комментировать
  • Как найти подряд идущие значения в массиве?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    С помощью цикла.
    Не знаю, почему в моду вошло написание решений в одну строчку в функциональном стиле, словно это быстрее работает или проще понять при прочтении.
    let cnt = 0; //число совпадений
    for(let i = arr.length-1; i > 0; i--) {
      if (arr[i] == 'значение 2' && arr[i-1] == 'значение 1') cnt++;
    }
    Ответ написан
    5 комментариев
  • Как восстановить окружность по массиву точек?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    А как они распределены? Если равномерно, или хотя бы симметрично, то сначала ищем центр масс (среднее арифметическое всех координат по X и Y отдельно, ибо "массы" равны), а затем считаем среднее удаление точек от этого центра - это будет радиус. Центром и радиусом задаётся окружность.

    Но если не равномерно и не симметрично, то сложно сказать. Например, такой случай:
    spoiler
    5f59dc800df79221516740.png
    Ответ написан
    6 комментариев
  • Блокировка загрузки скрипта на сайте (как)?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Если для использования стороннего скрипта B вы согласились на рекламу V, то вы сейчас, получается, хотите обойти соглашение и нарушить условия сделки. Самый правильный путь - договориться иначе (перезаключить другую сделку). Если не удаётся, то уйти к конкурентам и договориться с ними на более выгодных условиях. Если и это не удаётся, то найти альтернативное решение. Ну и железобетонный последний вариант - реализовать подобный функционал самому, что бы это ни было (алгоритм, база, аудитория, информация) - всё можно сделать, собрать, накопить, привлечь, за свои деньги конечно же.

    Заниматься хакерством - не самый правильный путь. Но здесь уже нет рецептов. Вы сами решаете, как именно обмануть партнёра. Решение будет зависеть от деталей, и от того, как именно устроены N, B ,V. Дырки в них могут оказаться такими, что их можно использовать. А если партнёр заранее побеспокоился о своей безопасности, то обход скрипта V так, чтобы использовать B, может обойтись вам дорого (вы потратите много сил и времени, ну или денег, конечно же).
    Ответ написан
    2 комментария
  • Как найти идейного человека в команду, за относительно небольшие деньги?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Чем более крутой человек вам нужен, и чем меньше вы готовы платить, тем больше удачи понадобится. Да, именно удачи. И времени, чтобы эту удачу испытывать. Ведь нужно везение, чтобы человек был умным, и в то же время не достаточно умным для понимания, что его используют, ну или с какими-то легкими проблемами, с низкой самооценкой, но чтобы это не сильно мешало работе. В общем, без удачи - никак.

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

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

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

    dollar
    @dollar
    Делай добро и бросай его в воду.
    В общем случае процессор Intel младшего поколения не лучше старшего. Хотя иногда, конечно, бывает, что выходит настолько удачная модель, что несколько последующих моделей (той же линейки) не могут её переплюнуть.

    Опять же, лучше-хуже можно по-разному считать, по разным критериям. Ведь у процессора есть множество точных характеристик (не связанных с браком), таких как частота, поддержка определённых технологий, совместимость и т.д. Так что кому-то хуже, кому-то лучше. Скажем, процессор может быть мощнее, но тупо не подходит к материнской плате, тогда он вам нафиг не нужен (т.е. хуже, а не лучше). Конечно, есть общий случай, когда какая-то модель лучше практически по всем параметрам при прочих равных, тогда можно просто говорить "лучше", но всегда найдется ситуация, в которой будет наоборот.

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

    Новые модели процессоров ждать не стоит. По частоте они примерно достигли своего пика на данный момент. Дальше технологии идут по пути многопроцессорности/многоядерности, а это не простой путь. Так что просто берите то, что вам кажется оптимальным в отношении качество/цена для ваших нужд, и пользуйтесь.
    Ответ написан
    2 комментария
  • Как указать степень при вводе?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    А если пользователь напишет: 2 + 2 * 2?
    Придётся писать свой калькулятор, хотя бы для степени. То есть сначала значение записывается в виде строки, а затем с помощью некоего алгоритма можно перевести в число. Конечно, если это вообще возможно, потому что пользователь может ввести какую-нибудь дичь типа 10^Вася, и программа должна на это как-то реагировать.
    Ответ написан
    2 комментария
  • Как вернуть setTimeout?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    let is_paused = false;
    const timeout = setTimeout(() => {
      if (is_paused) return;
      console.log("timeout!");
    }, 1000);


    Тогда снимать и возвращать таймер можно просто:
    is_paused = true; //снять
    is_paused = false; //вернуть


    А вот это вообще не имеет смысла:
    const fn = () => timeout;
    Потому что timeout - число (номер таймера). Так что fn() всегда будет возвращать некую числовую константу, которую можно получить и так, обращаясь непосредственно к timeout, которая не меняется. То есть timeout - не ссылка на объект таймера, а просто число.

    Возвращаемый идентификатор таймера (timeout) функцией setTimeout нужен только для того, чтобы иметь возможность остановить таймер полностью. Встроенных возможностей ставить на паузу и снова запускать - нет. Можно либо так, как я реализовал выше, через внешнюю переменную, либо каждый раз создавать новый таймер с новым идентификатором (и тогда timeout лучше сделать переменной, а не константой).
    Ответ написан
    5 комментариев