Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Аватара для SyDr

Старожил


Сообщения: 215
Благодарности: 62

Профиль | Отправить PM | Цитировать


Ясно.

Думаю, все помнят морской бой? Так вот, стратегия нахождения четырёхклеточного корабля состояла в том, что обстреливался каждый четвёртый квадрат игрового поля. С такой тактикой его можно найти максимум за 24 хода. Если же просто стрелять по каждой клетке поля - вполне возможно, что он будет в правом нижнем углу. А на это нужно раза в 3 больше ходов.

Таким образом, необходимо выделить в сканируемой области пиксели, цвет которых необходимо обязательно проверить. И проверять только их. При совпадени - проверять область.

Пример:
x - любой не нужный цвет
o - нужный цвет
Нужная картинка имеет вид (квадрат три на три):
xxxxx
xooox
xooox
xooox
xxxxx

Тогда в поле размером 10 на 10 необходимо будет проверить:
xxxxxxxxxx
xxxxxxxxxx
xxhxxhxxxh
xxxxxxxxxx
xxxxxxxxxx
xxhxxhxxxh
xxxxxxxxxx
xxxxxxxxxx
xxhxxhxxxh
xxxxxxxxxx

Чтобы узнать есть ли здесь картинка нужно проверить 9 пикселей (из 100). Ну и потом уже просто будет найти сам квадрат.
Хотя с такой иконкой будет посложнее. Но принцип, думаю, понятен.

-------

"Что мы думаем, знаем или во что верим в конце концов не так уж и важно.
Важно лишь то, что мы делаем."
Джон Раскин


Отправлено: 20:59, 08-08-2009 | #8