Перейти к содержанию

srg91

Администраторы
  • Постов

    289
  • Зарегистрирован

  • Победитель дней

    22

Весь контент srg91

  1. Да, это один из вариантов. Внимательно посмотри код, который там в примерах, а то будешь ловить вылеты и не понимать почему они происходят.
  2. Я не правильно понял направление разговора, в котором шла тема, поэтому перенес. Окей, я тогда перенесу обратно и удалю лишние сообщения, чтобы не смущать людей.
  3. Вот сколько живу, никак не пойму, почему нельзя воспользоваться поиском по форуму. Тема находится по буквально двум словам из заголовка: Ответ есть в видео в конце темы. Эту тему закрываю.
  4. Это не очень похоже на запрос, плюс запросы без оплаты труда не доступны без заслуг перед форумом. Перенес в общение, мы же просто обсуждаем возможность портирования. Ох, я понял что неправильно прочитал тему, думал стоит вопрос портирования с Windows на Linux ?‍♂️ Боюсь тут я еще больший чайник, чем вы. Правда судя по описанию драйвера для Linux они подразумевают возможность будущего портирования на Windows / OS X если найдется знающий человек. Возможно и правда есть такая возможность ?‍♂️
  5. Я просто мимо-крокодил со стим-контроллером. Мне казалось, что steam controller - это обычное xinput устройство и скорее всего его можно настроить руками. Без GUI конечно, но для начала кажется очень даже не плохо, если заработает. Кажется здесь есть что-то интересное: https://wiki.archlinux.org/index.php/Gamepad_(Русский)
  6. На самом деле вполне нормальное название, просто не сдержался, извините. В целом полное название звучит как "член класса", можно так же использовать слова типа: поле, атрибут. Подробнее про m_: https://ru.wikipedia.org/wiki/Венгерская_нотация
  7. Я уже решал подобную задачу, результат можно увидеть в этой теме:
  8. Для начала очень рекомендую Феназепам В CheatEngine есть встроенная справка. Увы под рукой нет CE, поэтому не вспомню надо жать F1 или выбирать меню Help. Дополнительно можешь ознакомиться с вики: https://wiki.cheatengine.org/index.php?title=Main_Page https://wiki.cheatengine.org/index.php?title=Assembler:Commands https://wiki.cheatengine.org/index.php?title=Cheat_Engine:Auto_Assembler
  9. Да, супер, отработало как нужно - версия запускаемого питона - 3.5.3; В общем запускает его сам AirtestIDE, но как я и говорил встроенный в него Python не умеет в asyncio (но я не разбирался подробно, возможно я не прав). Да и рекоммендуют они использовать синтаксис Python 2.7: http://airtest.netease.com/docs/docs_AirtestIDE-en_US/3_faq/script_related_faqs.html?highlight=python#which-python-version-is-supported Но! Насколько я вижу по тому что FAQ, можно запускать скрипты через отдельно установленный Python: http://airtest.netease.com/docs/docs_AirtestIDE-en_US/3_faq/script_related_faqs.html?highlight=python#how-to-use-a-command-line-to-run-a-script http://airtest.netease.com/docs/docs_AirtestIDE-en_US/1_online_help/before_you_start.html?highlight=python Поэтому можно попробовать поставить обычный Python, проверить что в нём работает asyncio, доустановить нужные AirtestIDE модули и указать его как основной для AirtestIDE. Если ты готов, то можем попробовать сделать это так )
  10. Можно попробовать вот так запустить, тогда он почти точно выведет что запускается: import sys message = 'Executable: {}\nVersion: {}'.format(sys.executable, sys.version) raise Exception(message) Единственное, судя по всему это некий встраиваемый питон, я не уверен что у него будут доступны все модули, которые имеет оригинальный. Поэтому возможно он просто не поддерживает корутины. Напомни, пожалуйста, где взять приложение через которое ты запускаешь? Чтобы можно было руками потыкать.
  11. Не очень понимаю как ты запускаешь. Ты не мог бы найти команду, которой запускается твой скрипт? Можно попробовать сделать что-то подобное: import sys raise Exception(sys.executable)
  12. @MasterGH Привет. Запусти, пожалуйста, следующий код, чтобы узнать версию твоего питона: import sys print(sys.version)
  13. правильно полез, ведь сравнивать динамическую типизацию с строгой - это как сравнивать теплое с мягким
  14. srg91

    Интересные программы

    я использую Monosnap. Бесплатный, с редактором, умеет записывать видяшки и загружать на ютуб, ftp, webdav, etc.
  15. ВАЖНО! При обновлении форума пересчиталась репутация и теперь она равняется той, что вы заработали на постах / блогах / etc. Возможно кому-то что-то выдавалось руками и это могло потерятся. Если вы потеряли много репутации - напишите, мне в личку, пожалуйста, восстановим недостающее, чтобы при пересчете ничего не сбрасывалось. Вернул как было. Если вы считаете, что что-то возвращено не верно, прошу всё так же писать в личку - посмотрим, что можно сделать.
  16. Спасибо, очень похоже на то. Если я правильно понял из ответа на stackoverflow, то из-за строения array мы должны инициализировать его и одновременно инициализировать его внутренний _Ty _Elems[_Size]; И, получается, по хорошему массивы всегда должны задаваться с двумя скобками. Но при этом есть "специальное правило", которое позволяет "опускать" лишние скобки в случае инициализации агрегатов, но только с условием что это "простая" инициализация, по типу std::vector<std::array<int, 2>>. Если массив содержит что-то, что нужно дополнительно инициализировать, скобки обязательны. Поэтому собственно с array<int, 2> работает, а с array<vector..., 2> нет. Кажется что-то стало более менее понятно, спасибо большое!
  17. Ну, если очень мельком глянуть (я попытался посмотреть структуру вектора в исходниках, но у меня не получилось :)), то выглядит следующий код выглядит примерно так: vector<int> x = { 1,2,3 }; vector<int> y = { 4,5,6 }; array<vector<int>, 2> a = { x, y }; vector<array<vector<int>, 2>> r = { a }; где красное - вектора x и y, синее массив a их объединяющий и оранжевый - общий вектор r. Да, массив, судя по исходникам, является классом, но в памяти выглядит как подряд идущие объекты, поэтому вложенные в него вектора идут ровно подряд. Сам вектор похоже состоит из 4-х указателей, 3 из которых я так и не понял что, а вот второй - ссылка на текущий массив данных.
  18. Угу, веерная блокировка РКН и тут В общем прикреплю сюда, версия 3.1-final с GitHub на 8.04.2018: ILSpy_binaries_3.1.0.3652.zip
  19. Я тоже вчера попробовал посмотреть мельком-мельком. Попробовать просто включить изменение размеров окна, она так просто не дает и чуть-чуть уменьшает окно (чуть не потерял его). Но вообще - это Unity-игра, поэтому в целом можно попробовать пошурудить Assembly-CSharp.dll каким-нибудь ILSpy чтобы найти код, который работает с размером окна. Кажется его даже можно было исправить (я делал это hex-редактором), но вроде можно даже как-то на высоком уровне её пересобрать. Тут нужны эксперты по работе с Unity / C# DLL
  20. Ты не очень правильно выделил красным, красное - это вот эти два раздельных вектора: А синим действительно это инициализация массива, только почему-то с использованием агрегатного синтаксиса. Осталось понять, почему в случае если массив содержит вектора - используется агрегатный синтаксис. А если содержит числа например, то не агрегатный. Точно, а компилятор на самом деле отправляет сигнал в космос, в котором он пролетая сквозь хаскелевые экзопланеты балуется монадами и находит ответ
  21. Ну не до конца всё же. Потому что я пока еще не понимаю, почему для случая vector<array<int, 2>> v = {{1, 2}, {3, 4}}; не используется агрегатный синтаксис, а для случая что я приводил выше - используется
  22. Ну вот, ты нарисовал по 3 блока скобок. А получается нужно 4, иначе не компилируется. Если разбить на переменные то не нужно: vector<int> x = {1,2,3}; vector<int> y = {4,5,6}; array<vector<int>,2> a = {x, y}; vector<array<vector<int>,2>> r = {a}; Но тогда если раскрывать обратно, то оно не компилируется: И вот я не очень понимаю, зачем нужно писать {{{{1, 2, 3}, {4, 5, 6}}}} вместо {{{1, 2, 3}, {4, 5, 6}}} , ведь в этой записи видно 3 измерения и всё выглядит корректно.
  23. Всем привет. Возможно я просто не выспался, поэтому задаю такие глупые вопросы Потихоньку открываю для себя мир C++ и проходя курсы пишу небольшие тесты. И вот на составлении исходных данных для теста я не смог создать многомерный массив, компилятор очень ругается. Никак не возьму в толк почему. Теперь подробнее. Я создаю вектор массивов векторов и компилятор падает, хотя по мне всё выглядит правильно: vector<array<vector<int>, 2>> cases = { {{1, 5, 3, 4, 2}, {2, 4, 3, 5, 1}}, {{1, 2, 3}, {3, 2, 1}}, {{1, 2}, {2, 1}}, {{1}, {1}}, {{}, {}}, }; Чтобы компилятор не падал, пришлось добавить по скобке для каждой строки, но я в упор не понимаю зачем. Вот это компилируется: vector<array<vector<int>, 2>> cases = { {{{1, 5, 3, 4, 2}, {2, 4, 3, 5, 1}}}, {{{1, 2, 3}, {3, 2, 1}}}, {{{1, 2}, {2, 1}}}, {{{1}, {1}}}, {{{}, {}}}, }; Но тогда тут получается 4 измерения, как по мне, а не 3. Потому что если разложить по измерениям я прихожу к своей реализации: // Одномерный вектор vector<int> cases = {1, 2, 3, 4, 5}; // Превращаем его в вектор массивов vector<array<int>> cases = {{1, 2}, {3, 4}}; // Превращаем его в вектор массивов векторов (перестает компилироваться!) vector<array<vector<int>, 2>> cases = {{{1, 2, 3}, {4, 5, 6}}, {{7, 8, 9}, {10, 11, 12}}}; И вроде всё верно, три измерения, но падает с ошибкой error: could not convert '{{{1, 2, 3}, {4, 5, 6}}, {{7, 8, 9}, {10, 11, 12}}}' from '<brace-enclosed initializer list>' to 'std::vector<std::array<std::vector<int>, 2ul> >' vector<array<vector<int>, 2>> x = {{{1, 2, 3}, {4, 5, 6}}, {{7, 8, 9}, {10, 11, 12}}}; Причем по ошибке не могу нагуглить именно свой случай. Кто-нибудь сталкивался с подобным? Есть какое-то логическое объяснение, почему нужно оборачивать дополнительной скобкой? Если непонятно зачем это всё, я гоняю вот такие тестики, чисто для себя:
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.