Pull to refresh
13

Химик и программист.

32
Subscribers
Send message
Может и не надо запихивать в язык максимум известного? Нпр., стрелку Пирса — достаточно других Булевых операций, чтобы реализовать эту ;)
Может революций и не будет. Тогда софт еще больше отстанет от железа :(

Ceylon не знаю. Вики утверждает, что он со строгой статической типизацией. Это не попытка наступить второй раз на грабли Виртовского Паскаля, где была невозможна универсальная функция умножения двух матриц? ;)
Спасибо. Нужно будет присмотреться внимательнее к этому языку. Хотя про исправление косяков у меня очень пессимистичные впечатления. Если в целом взглянуть на последние десятилетия — то прогресс в языках тормознул: случилась в прошлом веке так называемая ОО-революция (ей предшествовали структурная и модульная революции) и больше никаких революций. Хоть и японцы 5-ое поколение обещали, другие высказывали мнения, что макросы электронных таблиц — качественно новый уровень языков программирования. Тот же Eiffel контракты предложил. Были еще всякие манифесты новых парадигм, только пока никаких революционных сдвигов, сравнимых с ООП, они не произвели.
BTW А чем D хорош? Механизмом вывода типов? contract-based programming from Eiffel?
Я на Perl не пишу, но когда участвовал в обсуждении рукописи книги John Levine, Linkers and Loaders, спросил автора: почему он выбрал перл для примеров? Он ответил, что эти же примеры на другом языке увеличили бы в 2-3 раза объем книги и она стала бы трудно читаемой.
См. TIOBE : Lisp 28 место, далее Ада, но не самые плохие места: Пролог, нпр., на который возлагали столько надежд — 33 место, даже детский язык Лого его обогнал. А Go — вообще 48-ое. Интересно, что в начало второй страницы на 21 место Fortran переехал, который так поддерживали многие для научных вычислений (в квантовой механике, нпр.) и Интел поддерживал ;) Однако и у С/С++ тенденции к спаду.
Забавно, что не только «С- жив», но и мамонт по кличке Кобол (последняя строчка 1ой страницы TIOBE). Видимо, не все спецы так любят новации, как пытаются убедить инноваторы :) По сравнению языков есть интересный сборник корифеев: Языки программирования: Ада, Си, Паскаль. Сравнение и оценка. М.: Радио и связь, 1989. Столько лет прошло, а до сих пор актуально :)
А если серьезно? В USA, UK, Канаде и т.д. сейчас идет охота на ведьм? ;)
Как законопослушный гражданин может застраховаться от судебной ошибки? Ни одна система, ни один антивирусник не дают 100%-ную гарантию от троянов. Вполне может сесть троян, который пошлет какое-нибудь нехорошее сообщение, пока я пишу этот текст. Или же быть уже посажен в бесплатно распространяемую программу или ОС. Например, найдется какая-нибудь очень удобная сборка Линукса, загружу live DVD, а что там троян, можно и не обнаружить. Как в других странах решается эта проблема?
См. function CaptureScreenRect в файле UnitRecognize.pas. По гуглу можно найти много похожих примеров кода для снимка экрана. Процедуры распознавания в том же файле. (Исходный код выложен здесь).
Не помогает. И в ХР не работает.
Очень интересно. Подскажите, пожалуйста, где ошибка?:
function kbd (key : integer): integer;
...
 // Press key
  pInputs.ki.wVk := key;
  pInputs.ki.dwFlags := 0;
  SendInput (1, pInputs,sizeof(TInput));

  // Release key
  pInputs.ki.dwFlags := KEYEVENTF_KEYUP;
  SendInput (1, pInputs,sizeof(TInput));

У меня, правда, ознакомительная Win8.1x32. Надеюсь, здесь это несущественно.
Потому как после выкладывания движка бота начнётся гонка скриптов, многие из которых не будут выложены на публику.
Пока гонки не видно. Пока гораздо легче пройти ПБ обычным образом руками, чем написать скрипт:) В игре несколько десятков ПБ карт (можно подключать свои, но заданий на их прохождения в стандартной игре не будет). Эти несколько десятков карт рекордсмены прошли многократно. Просто надоедает проходить одни и те же карты, а отказ от прохождения очень невыгоден и хороший рекорд без ПБ сделать гораздо труднее.

Еще такое соображение: если кто-то сделал бота, но не стал выкладывать в широкий доступ, то это ничего не меняет, т.к. кто-то другой может сделать аналогичного бота ;)

Если бот окажется успешным, то будет как с секретами прохождений основной игры и отдельных ПБ. Рекордсмены охотно делятся секретами. Иногда даже руководства пишут (см., нпр.) На все ПБ есть видеопрохождения.

А про распознавалку, что уже получается распознать?
Числа ресурсов. Скрин игры всегда распознается правильно.
Успехи весьма велики, но код выкладывать в открытый доступ не собираюсь, так как это очень негативно скажется на игре.
У нас противоположная ситуация :) Дампридер ИМХО повысил интерес к игре. И мой генератор корпусов не вызвал негатива, и бот для ПБ не вызовет. А доступность кода ставит всех игроков в равные условия. Вот если бы исполняемый код был доступен только нескольким игрокам — было бы несправедливо :)
Сильно меньше! Дамп игры сделал великое дело!
Трудно сказать. Упомянутый в статье SRHDDumpReader на github. ИМХО приток не большой. Но автору виднее: ридер очень популярен среди игроков. Сам с большой пользой познакомился с исходным кодом, за что очень благодарен автору.
Ok — это не взлом. Пробовал посылать сообщения о событиях мыши/клавиатуры. К сожалению, не работает, т.к. Direct Input :( Еще пробовал уговорить разработчиков игры на COM — не удалось :(
Спасибо за совет. Да. Есть проблемы с перерисовкой. В виндах много полезных флагов, но нам нужно смотреть DirectX. Какие флаги там работают? Или нужно делать несколько чтений экрана и сравнивать результаты распознавания. Цифры меняются медленно — раз в несколько секунд.
Спасибо за советы. Возможно, в дальнейшем придется воспользоваться Вашим опытом. Но пока будем двигаться от простого к сложному и попытаемся выжать как можно больше инфы из миникарты.
И нет, к разработке не присоединюсь, есть более интересный проект.
Жаль, что такое Ваше решение. Но чисто из интереса позвольте спросить: а в чем проблема? Даже в очень интересном проекте случаются моменты, когда хочется отдохнуть, переключившись на что-то другое. И раз у Вас есть наработки, разве долго вставить готовый код в другой проект. Или же этот код закрыт? — Тогда понятно, почему нет ;)
Прежде всего, можно предположить, что возможно обойти защиту. Просто потому, что никому в мире не удавалось сделать 100%-ю защиту, и можно предположить, что теоретически 100% защита невозможна. (Только давайте не будем здесь обсуждать проблемы типа P =? NP, иначе далеко уйдем от темы :) Итак, предположим, что защиту мы обошли. Тогда наш бот будет не нужен. Без всякого прохождения пишем в память желаемое количество очков и отсылаем сверх-рекорд. Что-то подобное было с первыми КР2 в эпоху Elemental Games. За слово ArtMoney на их форуме можно было заработать бан :) Кончилось тем, что таблицу рекордов закрыли. Т.о. ИМХО этот путь обсуждать не стоит, как не относящийся к теме, т.е. к боту — бот, повторю, при таком пути станет не нужен.

Далее. Основную сцену «роботы за деревьями» распознавать ИМХО слишком сложно и затратно, тем более в реальном времени. Гораздо проще и продуктивней использовать миникарту в левом нижнем углу экрана (рис.1 в статье). Там роботы обозначены маленькими кружочками, заводы и базы — квадратиками, шума нет. В отличие от роботов заводы и базы не меняют координат, а только цвет. Их распознать проще. BTW если будет не хватать времени, то всегда можно сделать паузу в игре, т.о. проблему реального времени можно легко обойти.

Information

Rating
Does not participate
Registered
Activity