Веселая карусель S. Andrey (sandrey@vens.ru) Хакер, номер #077, стр. 077-056-4 [первая победа] На следующий день я испытал своего бота. Йоу! Все прошло как надо! Буквально за три часа я уделал своих коллег и вышел на первое место. На этом я и остановился. К вечеру же конкуренты опять догнали и обошли меня на 1000 баллов, но это не особенно меня расстраивало, так как было мощное лекарство от такого положения дел. День был удачный: я собрал около 700 сохраненных картинок с баллами. Придя домой, я за 15 минут набросал скрипт, который сравнивал бы картинки друг с другом и удалял дубликаты. Скрипт этот не сложный, и, я думаю, ты напишешь его без труда. С помощью readdir() нужно прочитать имена всех картинок одного балла в массив, а затем с помощью fread() читать содержимое gif файлов, сравнивать их между собой и, используя unlink(), удалять дубликаты. У меня через 20 минут после включения компьютера уже был результат: в каждой папке, показывающей количество баллов, осталось ровно по три файла. Чудо скрипт этой мерзкой игры генерировал всего три (!) различных картинки на каждый из десяти различных баллов. Ай да программисты, просто имбицилы! Все, делаем полный автомат – пишем второго бота. Собственно, как ты понимаешь, для этого нужно лишь слегка изменить код первого бота. А именно в функции getPage() необходимо отказаться от общения с пользователем и количество баллов определять самостоятельно. Все предельно просто: пробегаем по всем сохраненным у нас локально картинкам и сравниваем их с той, что у нас есть. Как только совпадение найдено – все, балл определен (это имя папки, в которой лежит идентичная искомой картинка). [боевая готовность] Ну что ж, к завтрашнему дню у меня все было готово. А завтрашний день – это, во-первых, суббота – выходной, а во-вторых, последний, решающий день игры. Сидеть за компьютером в субботу, контролировать действия конкурентов и работу своего бота не очень хотелось, и я решил написать еще один скриптик. Его задача была такая: взять страничку со статистикой по игре, пропарсить ее, узнать насколько я опережаю/отстаю от своих коллег и полученную инфу отправить в виде SMS на сотовый. Ну, как тебе? На самом деле, реализация этого проще, чем описание. Отправка сообщений производится с сайта нашего любимого оператора сотовой связи. Комментариев тут не будет, т.к. это для тебя лишь повторение пройденного сегодня материала – тут все знакомо. Я залил второго бота с полученной коллекцией картинок на свой сервак, который стоит у меня на работе, туда же последовал и скрипт отправки статистики на сотовый. Я также положил своего бота на один московский сервер, к которому у меня был доступ (даже не думай спрашивать, откуда он у меня :)). Это было сделано на случай, если с главным сервером вдруг возникнут проблемы: на работу-то в субботу не попасть, да и проблемой может быть банальное выключение света :). |