Бот для игры "Сапер".

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
+Nogg+
Начинающий
Начинающий
 
Сообщения: 7
Зарегистрирован: 05.07.2006 (Ср) 20:30

Бот для игры "Сапер".

Сообщение +Nogg+ » 05.07.2006 (Ср) 20:38

Есть такая игра ))))
Хотел создать бота сам , но незнаю как , с чего начать.
Помогите пожайлуста или же киньте ссылку где можно о чем-то подобном почитать.

Про бот.
Конечно это не супер Ai. Пример :нажать на поле A,например, затем кликнуть на поле Б.
+
Изучаю Бейсик около полгода, понравилось конечно. Отсюда и идея такая.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 05.07.2006 (Ср) 20:43

Там нет полей. Это сплошное окно. Тебе придётся для начала распознаватель образов написать.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

+Nogg+
Начинающий
Начинающий
 
Сообщения: 7
Зарегистрирован: 05.07.2006 (Ср) 20:30

Сообщение +Nogg+ » 05.07.2006 (Ср) 20:44

О, это трудно для меня , сам не сделаю.

+Nogg+
Начинающий
Начинающий
 
Сообщения: 7
Зарегистрирован: 05.07.2006 (Ср) 20:30

Сообщение +Nogg+ » 05.07.2006 (Ср) 20:51

Как написать распознователь образцов ?

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 05.07.2006 (Ср) 20:55

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

+Nogg+
Начинающий
Начинающий
 
Сообщения: 7
Зарегистрирован: 05.07.2006 (Ср) 20:30

Сообщение +Nogg+ » 05.07.2006 (Ср) 20:57

Т.е. вы предлагаете забыть мне о боте ??

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 05.07.2006 (Ср) 21:00

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

+Nogg+
Начинающий
Начинающий
 
Сообщения: 7
Зарегистрирован: 05.07.2006 (Ср) 20:30

Сообщение +Nogg+ » 05.07.2006 (Ср) 21:04

Предложения есть ?

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 05.07.2006 (Ср) 21:27

Напиши аналог сапера сам и сделай бота для своей версии.

+Nogg+
Начинающий
Начинающий
 
Сообщения: 7
Зарегистрирован: 05.07.2006 (Ср) 20:30

Сообщение +Nogg+ » 05.07.2006 (Ср) 21:30

Я не настолько крут в бейсике.
Ладно , стирайте топик .

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 05.07.2006 (Ср) 21:33

Да ладно, там ничего сложного-то нет. :)

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 05.07.2006 (Ср) 21:42

Клетка в сапёри имеет ограниченный постоянный размер. mouse_event ом можно слать нажатие. Что в ячейке - получать точно токже. Цвет одной точки - если он не серый - значит там цифра. У каждой цифры в сапёре свой цвет. Поэтому если хорошо подумать, возможно, что там и не понадобится распознователь образов. Если что - стучи в асю. помогу.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 05.07.2006 (Ср) 23:51

Я видел такого бота, он именно по цветам клетки различал.
В логике там вообще ничего нетривиального нет.
Можно будет как-нибудь со скуки написать свой :-)
Изображение

Oxygen
Белая и пушистая
Белая и пушистая
Аватара пользователя
 
Сообщения: 1314
Зарегистрирован: 15.07.2003 (Вт) 7:14
Откуда: Москва

Сообщение Oxygen » 06.07.2006 (Чт) 0:19

У меня такое задание на олимпиаде по информатике было. По крайней мере что-то подобное. Мое решение работало процентов на 50. Там просто рекурсивный обход, плюс куча условий. А распознавание можно сделать именно по цветам. Находишь первый квадратик, а потом ищешь остальные.
Процедура клонирования завершена.
Коррекция имплантированного сознания соответствует принятым алгоритмам.
Уникальный идентификатор скопирован в чип временного паспорта.
Активация прав гражданина ожидается в течение 24 часов

+Nogg+
Начинающий
Начинающий
 
Сообщения: 7
Зарегистрирован: 05.07.2006 (Ср) 20:30

Сообщение +Nogg+ » 06.07.2006 (Чт) 10:02

Практически ничего не понял , буду просить помощи у Хакера в Icq.

Niko
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 102
Зарегистрирован: 16.03.2006 (Чт) 14:43

Сообщение Niko » 06.02.2007 (Вт) 12:41

Добрый день.
Вроде как раз по теме.
Как мне определить цвет точки над которой стоит мышка?
Нужно определить есть ли под мышкой CheckBox, хочу определять по цвету фона т.к. вокруг все серое а он белый. :oops:

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 06.02.2007 (Вт) 12:50

Неправильно. Если на нем стоит галочка, он не белый :)

Что надо сделать в общем и целом?

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 06.02.2007 (Вт) 12:51

GetPixel из кастомного DC тебя спасёт. GetDC тебя спасёт от когда ты будешь получать DC их HWND. GetWindowFromPoint тебя спасёт когда ты будешь получать HWND окна под указателем мыши, GetCursorPos спасёт тебя если нужно будет получить координаты мыши (а будет нужно :wink: )
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 06.02.2007 (Вт) 12:52

Niko писал(а):Добрый день.
Вроде как раз по теме.
Как мне определить цвет точки над которой стоит мышка?
Нужно определить есть ли под мышкой CheckBox, хочу определять по цвету фона т.к. вокруг все серое а он белый. :oops:


В цитаты однозначно! А событие MouseMove по каким соображениям не подошло?
Весь мир матрица, а мы в нем потоки байтов!

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 06.02.2007 (Вт) 12:54

!Viper!
Ы :)
Не подошло потому что видимо чекбокс в чужом окне. Если бы был в своём - нафиг бы он такое делал. Просто бы CheckBox.Value получил.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Niko
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 102
Зарегистрирован: 16.03.2006 (Чт) 14:43

Сообщение Niko » 06.02.2007 (Вт) 13:00

!Viper! писал(а):
Niko писал(а):Добрый день.
Вроде как раз по теме.
Как мне определить цвет точки над которой стоит мышка?
Нужно определить есть ли под мышкой CheckBox, хочу определять по цвету фона т.к. вокруг все серое а он белый. :oops:


В цитаты однозначно! А событие MouseMove по каким соображениям не подошло?

С чего ты взял что это мой чекбокс?
Суть такая мне нужно кликнуть по ЧекБоксу когда он появится на экране (появится он без галочки).
Где появится я знаю, как кликнуть по нему тоже знаю.
Осталось определить есть он на экране или нет. :)

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 06.02.2007 (Вт) 13:00

Дык, ежели ему надо определить наличие CheckBox хоть где, всяко ему не пойдет определение его цвета. Особенно, если там галочка стоит.
Весь мир матрица, а мы в нем потоки байтов!

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 06.02.2007 (Вт) 13:03

В принципе, ответ в ответе Хакер. Хотя, можно поискать вариант попроще и надежнее, чем определение цвета под курсором
Весь мир матрица, а мы в нем потоки байтов!

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 06.02.2007 (Вт) 13:05

Это да. я когда отвечал вообще не заметил про чекбокс и отвечал, как если бы он спрашивал про сапёра.

Кстати, вопрос к Niko: Имеет ли чужой чекбокс окно?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Niko
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 102
Зарегистрирован: 16.03.2006 (Чт) 14:43

Сообщение Niko » 06.02.2007 (Вт) 13:09

to Хакер: если HTML страница это окно то да.
Хотя наверно не HTML (я в этом ничего не понимаю) это браузерная интернет игра.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 06.02.2007 (Вт) 13:14

to Хакер: если HTML страница это окно то да.


Т.е. это ты думаешь, что если я считаю HTML-страницу, окном, то ответ на мой вопрос
Имеет ли чужой чекбокс окно?

будет "ДА" ?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Niko
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 102
Зарегистрирован: 16.03.2006 (Чт) 14:43

Сообщение Niko » 06.02.2007 (Вт) 13:18

нет.
я сам не знаю окно это или нет. поэтому так и написал.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 06.02.2007 (Вт) 13:29

Мы сейчас не разбираемся является ли HTML страница окном, мы сейчас разбираемся с вопросом есть ли у чекбокса окно.


Мне бы очень хотелось чтобы ты ответил на этот вопрос (неправильно) и я объяснил тебе что же такое окно чекбокса.

Но не буду, ведь найдутся вновь люди которые будут кричать "Хакер баран, нафиг ты задал вопрос - как будто не знаешь что у чекбокса на HTML страницы нет окна. Чё не знал, да? Бы ха ха ха. Хакер - даун". Нет. Не дам им шанс - отвечу тебе сам - нет у него окна (оно может быть есть где-то, но там где рисуется чекбокс его нет.)

Зато здесь есть огромный плюс. Можно получить объект Document этого веб-броузера и обращаться к чекбоксу по имени.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Niko
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 102
Зарегистрирован: 16.03.2006 (Чт) 14:43

Сообщение Niko » 06.02.2007 (Вт) 13:44

вверху-справа на этой странице есть 2 ОпшионБокса. Я знаю координаты где они должны быть, их может быть много, но мне нужно только 2 (координаты которых я знаю).
Могу ли я узнать есть ли они там на самом деле?
судя из вышесказанного не могу, ну или координаты тут непричем.

dr.MIG
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1441
Зарегистрирован: 18.12.2004 (Сб) 9:53
Откуда: г.Ярославль

Сообщение dr.MIG » 06.02.2007 (Вт) 17:40

Niko писал(а):Могу ли я узнать есть ли они там на самом деле?
судя из вышесказанного не могу, ну или координаты тут непричем.

Хакер писал(а):Можно получить объект Document этого веб-броузера и обращаться к чекбоксу по имени.

Т.е. я бы сначала посоветовал посмотреть HTML-код страницы, посмотреть есть ли имена у CheckBox'ов, и проверять их наличие как раз анализируя HTML-код/имена CheckBox'ов.
Про координаты, imho, лучше забыть.
Salus populi suprema lex

След.

Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 84

    TopList