Добрый день, реактор!
Сразу перейду к делу. У меня в мыслях было создать полутекстовую (текст + картинки/гифки) игрушку. Ничего особо сложного. Сам я в программировании +- новичок, но что-то умею. Языки на которых работал это С++, С#. Последнее больше нравится.
Мне необходимо найти язык+движок, на котором будет легче всего осуществить, то что я хочу сделать. Движок не должен ограничивать меня и при этом быть не слишком сложным. Требования к связке язык/движок:
1. Наличие темной темы в итоговом приложении. Т.е. дизайн должен регулироваться мной. По типу Кнопка.Цвет = темный. На WPF от C# чтобы получить темное приложение на выходе нужно морочиться. Я там установил плагин от Google, MaterialSkin или что-то вроде. Хотел было обрадоваться, вот она темная тема уии, но хер там. Во-первых верстка самого окна происходит в светлой теме, т.к. темная настраивается при запуске приложения через строку в коде, а во вторых она блядь не соответствует фактическим размерам. Т.е. то, что я вижу в окне конструктора окон != то что на выходе. Ну это имхо неиграбельно.
2. Умение менять цвет текста как на всяких играх написанных на Twine. Это выглядит прикольно и хотел бы этим воспользоваться. На том же C# нужно перегружать методы, и в самом коде это выглядит скорее как костыль, нежели как здоровое решение.
3. Одно из самых важных моментов. Динамическое создание модульных окон. То есть, на вход дается картинка+текст+выбор из 2х кнопок. Приложение генерирует окно, с этим содержимым и возвращает результат в зависимости от нажатой кнопки. В C# WPF можно понаделать этих окон и потом вызывать конкретное нужное, но как это сделать через функцию, чтобы для каждого ивента не было отдельного окна, которое будет засорять мне приложение, я не разобрался (возможно в силу неопытности, возможно из-за ограничений).
4. Оптимизация. Хотелось бы, чтобы после нажатия каждой кнопки приложение не висло на секунду, просто потому что. В игре особо сложных расчетов не будет, поэтому со стороны программиста особой нагрузки не будет.
Всякая там кроссплатформенность не особо важна. Хотелось бы язык, где нет гемора при создании структур, классов и можно нормально ими манипулировать, по крайней мере что-то не сильно далекое от С подобных языков. Поэтому всякие ассемблеры и прочую жуть точно не стоит предлагать.
Были мысли перейти на Java, т.к. похожа на шарп, подучить ее немного и взяться писать на ней. Но она вроде лагучая и лично для меня непонятно, насколько эта игра стоит свеч. Погружаться в язык, чтобы столкнуться с подводными камнями не особо хочется. Не очень желательно предлагать какие-то движки на JS и итоговой браузерной составляющей игры, поэтому предлагать можно, но как последние варианты для рассмотрения.
Как по мне мои требования к языку+движку не особо жесткие, какое-то решение точно есть.
P.S. скорее всего много опечаток, но мне как-то насрать.
С 00.00 - 51.50 - рассказывает про фундаментальные принципы, которые лежат в основе работы мозга.
51.50 - 55.05 - про проблемы моделирования мозга.
55.05 - 58.15 - теоретическая модель нейристора .
58.15 - ответы на вопросы.
Найдя незнакомый флеш накопитель, будьте осторожны, вставляя его в свой ПК. Любой USB HID контроллер поместится в корпус от флешки. Последствия могут быть очень неприятными. Для примера в ролике я набросал "мирную" программу для ATmega32u4.
При подключении к компьютеру Ардуино перехватывает управление с клавиатуры и мыши на себя, открывает окно "Выполнить", меняет раскладку клавиатуры на "EN", вызывает Paint, разворачивает его во весь экран, открывает окно "Свойства изображения", устанавливает разрешение 1280х1024, одобряет и начинает рисовать символ "@", после окончания рисования разворачивает изображение на весь экран и возвращает управление клавиатуре и мыши. Все происходит за несколько секунд.
Отличный комментарий!
помнится паста с баша, где чувак в маршрутке у кого-то на рюкзаке подрезал флешку с надписью 256, вставил себе в комп и тот пошел по пизде. чувак исправил с 256 на 257 и повесил на рюкзак себе
Доки в конфлюенсе: "хуета #1" прекращает запуск "хуета #2", чтобы сначала сработала "хуета #7638", которая заставляет игнорировать "хуета #2" т. к. она ложит всё.
П.с. вода под мостом - солёная.
Бабушка хотела выкинуть старый дисковый телефон, но я ее остановил, хотя телефон мне был нужен не весь. Я еще не знал, как именно реализую сложившийся в голове пазл, но точно знал, что я это сделаю! =))
Под видео опишу вкратце, как это сделать с применением контроллера Arduino.
Подключение диска от советского телефона к Arduino Leonardo. (Работать будет под любой ОС)
Вместо Leonardo можно использовать любую другую плату, только в скетче надо будет применять не Keyboard а Serial для вывода результатов.
#include <Bounce.h>; //для снижения эффекта дребезга Bounce bouncer = Bounce(2, 40); int pulses = 0; void setup() { pinMode(2, INPUT); pinMode(3, INPUT); pinMode(13, OUTPUT); Keyboard.begin(); } void loop() { while(digitalRead(3) == HIGH) { //пока идет набор if (bouncer.update()) { //если произошло событие if (bouncer.read()==0) { //если пришел сигнал с контактной группы pulses++; //добавить 1 в переменную bouncer.rebounce(500); } } } if(pulses > 0 && pulses < 10) { //чтобы в com порт шли только реальные цифры и ничего больше Keyboard.print(pulses); //шлем в порт pulses = 0; // обнуляем переменную } else if(pulses == 10) { //если с номеронабирателя пришло 10 pulses = 0; //то реальная цифра - ноль (особенности набирателя), заодно обнуляем переменную Keyboard.print(pulses); //шлем в порт } }
Отличный комментарий!