Сообщения

ScreenWeather - погодный информер с Metro-подобным интерфейсом

Изображение
 Эта запись - дневник разработки. В ней я хотел бы осветить подробности создания программы: от возникновения идеи до её реализации. Если Вы пришли сюда исключительно чтобы скачать программу, то смело листайте в конец записи (а еще лучше сюда (версия 2.0) , там приведена ссылка на загрузку.  День первый. Идея. "Идея. Она живуча и очень заразна." (К/ф Начало).  Всё началось с того, что мои родители перед походом на дачу смотрели погоду, чтобы узнать, не застанет ли их дождь и чтобы знать, стоит ли поливать участок или же дождь сделает это за них. Для этих целей у нас был только один виджет погоды, и он не всегда соответствовал действительности. Вот тут-то у меня и возникла идея написать программу, где будет сразу несколько погодных информеров, чтобы можно было сравнить данные. Идея положена, теперь нужно найти информацию. На первом же запросе Google выдал мне несколько хороших погодных сервисов со свободными API, я в них успешно зарегистрировался и уже через два час...

Универсальный бот для игры Flood-It

Изображение
 В последнее время увлёкся игрой Flood-It . Это простенькая логическая игра, целью которой за минимальное количество шагов разукрасить всё поле одним из шести цветов. Игровое поле Flood-It  Прочитав на Хабре статью  про автоматизацию игры Flood-It, мне захотелось написать подобную программу, но более универсальную. Вооружившись тетрадкой и ручкой, я расписал план действий: распознать игровое поле и его параметры; перевести графическое представление поля в логическое (массив чисел); найти последовательность оптимальных вариантов заливки; автоматизировать процесс игры.  Отобразить результат.  По поводу последнего пункта: автоматизировать процесс, значит автоматически кликать на кнопки, отвечающие за заливку. Как правило, эти кнопки находятся за пределами игрового поля, но поскольку мы пишем универсальную программу, то кнопки также придётся находить автоматически. Немного подумав, я пришел к выводу, что лучше этого не делать, а просто вывести результа...

Как я разбирал жесткий диск

Изображение
 Однажды, в солнечное октябрьское утро, захотелось мне разобрать свой старенький винчестер, дабы посмотреть своими глазами, что же там внутри. Жесткий диск прослужил мне целых два с половиной года, и однажды, при включении, BIOS выдал мне такую фразу "Hard drive error". При этом внутри жесткого диска всё скрипело и щелкало. Я отложил его до "лучших времён". И вот сегодня эти "лучшие времена" и настали.  Действующим лицом нашего спектакля будет HDD от Western Digital с 320 Гб памяти.

Написание бота для онлайн игры

Изображение
 Не так давно, просматривая ленту на Хабре, наткнулся на такую вот статью . Бегло просмотрев её, я решил сделать подобное на своём родном языке Java. Сейчас постараюсь в точности описать ход своих мыслей и идей. Приступим.  Первым делом нужно было узнать, умеет ли Java работать с мышкой? Интуиция выдала стопроцентный положительный результат, затем, через десять секунд был введён запрос в Google и получено подтверждение - в таких делах наш помощник это класс java.awt.Robot. Он умеет получать изображение с экрана, эмулировать нажатия клавиш и управлять мышью. То что нужно. Для начала решил освоить этот класс, для этого написал метод, который "набирал" переданный ему текст. Исходный код этого метода выглядит так: /**  * Автоматическое написание сообщения  * @param text "печатаемый текст"  */ public void writeMessage(String text) {     for (char symbol : text.toCharArray()) {         boolean needShiftPress = Character...