![]() |
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]() ![]() ![]() |
|
bald |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 21.2.2008 Где: Украина, Хмельниц кий Репутация: нет Всего: нет |
День добрый!
Преамбула: ко мне обратился мой друг с просьбой помочь ему написать решебник для игры "Сапер" (его курсовая работа). Как вариант предложил ему написать приложение, которое запускает сапер и полностью управляет им (создается поле, такое же как и выбрал пользователь в игре и, соответствующий алгоритм, проанализировав ситуацию, подсказывает какую клавишу нажать следующей). Проблема: получил handle игры "Сапер". А вот с получением handle поля возникли проблемы. Как выяснилось, это все единый компонент (предполагаю, что потомок TGraphicControl). Подскажите, пожалуйста, что можно предпринять? Каким образом можно управлять "Сапером"? Заранее благодарен, Владислав |
|||
|
||||
Rrader |
|
||||
Inspired =) ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1535 Регистрация: 7.5.2005 Репутация: 70 Всего: 191 |
Добрый день, bald. Есть, что сказать
![]()
Стандартный сапер написан на Microsoft Visual C++, никаких TGraphicControl. Вы правы, что поле не имеет Handle, т.е. полностью рисуется.
Если это возможно, то напишите свою реализацию этой игры, заложив в нее возможности внешнего управления. Если это невозможно, то задачка практически нерешаема. Вам могут посоветовать делать фото поля, распознавать цифры, пустые ячейки, моделировать у себя такое же поле и уже принимать решения на смоделированном поле. Потом выискивать координаты кнопочек и отправлять туда нажатия мыши. Этот способ ограниченно применим - под разными ОС сапер и выглядит по-разному, и модель сделать очень сложно. |
||||
|
|||||
1000000dollars |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 231 Регистрация: 6.10.2007 Репутация: нет Всего: 8 |
В отладчике находится адрес поля, пишется программа, которая через ReadProcessMemory считывает кусок памяти из запущенного сапёра, а после этого можно делать с ним что хочешь.
Только в разных версиях винды адрес поля разный. Исходниками помочь уже не могу, потому что потерял их :( |
|||
|
||||
Rrader |
|
|||
Inspired =) ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1535 Регистрация: 7.5.2005 Репутация: 70 Всего: 191 |
||||
|
||||
Frees |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2233 Регистрация: 2.12.2005 Где: Екатеринбург Репутация: 9 Всего: 54 |
для сапера из ВинХР распознаю по картинке. получаем массив значении ячеек сапера. Присоединённый файл ( Кол-во скачиваний: 15 ) ![]() -------------------- Кольцов Виктор Владимирович |
|||
|
||||
de_Nis |
|
|||
![]() Старательный ![]() Профиль Группа: Участник Сообщений: 223 Регистрация: 19.10.2006 Где: Молдова Репутация: нет Всего: 6 |
Культин Н. Б. Основы программирования в Delphi 7 (598 c) .pdf, книга есть в сети.
В главе 12 (стр.459-484) разбирается создание игры Сапер. Может быть, поможет? --------------------
Несчастлив не тот, у кого ничего нет, а тот, кто ничего не хочет… |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Общие вопросы" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |