Несколько лет назад я стал учить Java Android. На работу меня программистом Java никуда не брали – то нет опыта работы в команде, то уровень Джун (т.е. если по-русски – младший специалист), то нужен молодой лет двадцати…Я как-то не привык в таких случаях отступать, по этому создал свой аккаунт плеймаркете, выбрал тему приложения близкую мне и опубликовал. Однако, в этом году Гугл стал немного не в адеквате, отключил монетизации, по тому я решил сменить платформу на Huawei. Этот поганец тоже оказался не лучше – нет работающего механизма монетизации для российских разработчиков. Остались НашСторе и РуСторе, но как я писал уже свою статью, НашСторе начал за здравие и потом йок…Остался РуСторе, хотя и у него тоже есть неразработчико-ориентированная позиция. Так вот…
Рис.1
Мыльный калькулятор (рис.1)- это приложение предназначено для мыловаров, т.е. людей, которые делают мыло “с нуля”. В общем сам процесс не особо замысловатый – берете разные масла, щёлочь и воду, всё смешиваете в нужных пропорциях и получаете мыло. Конечно, требуется соблюдать некоторые технологические режимы, но они не сложные и по этому мыло люди варят дома. Проблема тут только в том, что где взять эти нужные пропорции всех ингредиентов. По этому нужно либо брать уже готовые рецепты, либо использовать калькулятор щёлочи (он же – мыльный калькулятор), и он сам всё посчитает. Тут ещё есть такой момент, что иногда формулы мыла получаются очень даже интересные, и их хорошо бы где-то хранить. По этому в приложении реализован ещё и рецептурный блокнот. Идея сделать это пришла мне несколько лет назад, хотя в этот момент были уже и сайты с такими калькуляторами и даже отдельные приложения, и одной из причин было, что некоторые моменты мне там не нравились или были неудобными. Само приложение получилось не сложное ни с точки зрения рядового пользователя (который конечно же знает хотя бы как примерно вообще изготавливается мыло), ни с точки зрения написания этого приложения.
По этому всех, кто варит мыло, или ваши знакомые, друзья, родственники, прошу опробовать работу моего приложения и я почти уверен, что оно окажется и удобным и функциональным.
Сегодня произошло в моей творческой карьере достаточно важное событие. Я таки завершил разработку наиболее серьёзного (по моим меркам) мобильного приложения – “Шахматы-онлайн”, и довёл его до стадии альфа-тестирования
Кстати, мой шахматный сервер развернут на VPS – партнёрская ссылка:
Я действительно могу рекомендовать этого хостера как наиболее надежного и дружелюбного. За три года хостинга не было никаких проблем, а все вопросы к службе поддержки решаются быстро и профессионально. У хостера есть бесплатные платформы, такие как WordPress, Jumla, движки интернет-магазинов и т.п. На днях я решил перейти у него с хостинга на VPS. Процесс оказался настолько прост, что это мне удалось сделать самостоятельно за один день. И как было не сделать, если у Beget есть разные стандартные пресеты операционных систем, в частности такие как LAMP-сервер. VPS очень масштабируемы – можно начать сначала с самой скромной конфигурации, а затем расширить число ядер, объем оперативной памяти и т.п. Что меня ещё удивило, что компания эта сама является регистратором доменов, по этому когда я регистрировал свои домены, цены на них оказались значительно ниже остальных (возможно оно и сейчас так). В общем, кто меня знает – ради пары рублей я хрень рекомендовать не буду, и уж тем более ей пользоваться ради экономии этих самых пары рублей.
Приложение позволяет играть, что характерно, в шахматы, причем по двум правилам. Первые – классические (рис.1), о которых все знают и тут останавливаться особо не на чем; вторые – малоизвестные, но очень интересные на мой взгляд – это шахматы Фишера (рис.2) или как их иногда называют Шахматы-960. Предложенный некогда вариант 11-м чемпионом мира по шахматам – Робертом Фишером, очень понравился мне. Ради возможности играть по второму варианту, я и решил замутить это приложение. Правила шахмат Фишера практически ничего не меняют в обычных, кроме как начальную расстановку фигур на поле – они располагаются случайно, пешки расставляются аналогично классическим шахматам.
Рис.1. Классические шахматы
Есть в шахматах Фишера в случайной расстановки фигур всё же некоторые правила: король обязательно должен быть где-то между двух ладей, слоны обязательно должны быть черного поля и белого поля, фигуры черных и белых расставляются симметрично относительно друг друга. Рокировка также доступна только один раз вправо или влево, но количество свободных полей (между королём и ладьёй) для её осуществления зависит от начальной позиции.
Рис.2. Один из 960 вариантов начальной позиции шахмат Фишера
Подобная расстановка позволяет игроку продемонстрировать не шахматную эрудицию, а мышление. Ведь не секрет, что много в партии зависит от первых нескольких ходов, и многие шахматисты просто выучили наиболее частые шахматные дебюты, в следствии чего шансы на успех всей партии существенно возрастают. Расстановка Шахматы-960 умножает на 960 количество вариантов шахматных дебютов, выучить которые практически невозможно. По этому игрок оказывается каждый раз в новой для себя позиции, заставляющей по новому строить свою тактику.
Теперь немного по самому приложению
После открытия приложение запросит от вас никнейм (рис.3). Введите удобное для вас имя.
Кликнув по картинке с шахматной доской вы попадаете на мой канал в Дзене. В случае другой картинки, ссылка может быть иная.
Рис.3. Начало работы с приложением
После установки соединения с сервером, вы оказываетесь в списке игровых столов (рис.4).
Рис.4. Список игровых столов
Здесь можно создать свой собственный со своими правилами удобным для вас цветом стороны (рис.5), либо присоединиться к уже существующему, приняв правила этого стола (рис.6).
Рис.5. Создание нового игрового стола.
Рис.6. Присоединение к существующему столу
Если вы присоединяетесь к пустому столу (за которым нет игроков), то у вас появляется возможность изменить его правила также, как если бы вы создавали новый игровой стол. Отсутствие игрока за столом отображается знаком “-//-” зелёного цвета на стороне той стороны-цвета, где игрока нет, либо с двух сторон, если за столом нет игрока. Полностью занятые столы двумя игроками могут в списке не отображаться совсем.
Оказываясь за столом, за которым кроме Вас никого нет, приложение находится в режиме ожидания присоединения другого игрока-оппонента (рис.7).
Рис.7. Приложение в режиме ожидания подключения оппонента.
В любой момент можно покинуть игровой стол стандартной кнопкой возврата, однако, если при этом была уже начата партия, то она будет автоматически завершена Вашим поражением (аналогично сдать партию).
При этом, если вы просто стандартно закроете приложение или переключитесь на другое приложение, то партия будет продолжать находиться в режиме игры, однако, и игровое время будет также считаться (такое действие НЕ приведет к остановке или прерыванию игрового времени).
После присоединения другого игрока к партии, надпись “Ожидание подключения игрока” исчезнет и приложение перейдет в режим готовности каждого игрока (рис.8). В этот момент каждый из двух игроков должен сообщить о своём намерении играть партию, кликнув по кнопке “Предложить новую игру”. Если другой игрок уже опередил Вас в намерении начать партию, то кнопка приобретёт вид “Согласиться на новую игру”, сохраняя при этом тот же смысл.
Рис.8. Ожидание готовности каждого игрока
После того как оба игрока выразили намерение играть партию, приложение переходит в режим игровой партии, а игровое время начнет счет (рис.9).
Рис.9. Ход игровой партии
В это режиме доступны следующие действия: произвести ход, сдаться, предложить игру, покинуть игровой стол признав при этом своё поражение. Когда один игрок предлагает ничью, другой получает на экране уведомление (рис.10).
Рис.10. Уведомление, когда другой оппонент предлагает ничью.
После того, как оппонент предложил ничью, возможны несколько вариантов: кликнуть нет, и предложение о ничье скроется, кликнуть да и тогда партия будет завершена ничьёй, продолжать обдумывать партию и совершать ходы, просто не обращая на это предложение внимания.
Для совершения хода кликните по своей фигуре один раз чтобы выделить ту фигуру, которой собираетесь ходить (рис. 11). При этом также буду подсвечены все доступные ходы этой фигуры. Если данной фигурой походить невозможно (либо нет свободных клеток, либо ход приведет к шаху “своего” короля), то подсвеченной будет только эта фигура (рис.12).
Рис.11. После клика на пешку e2. Подсвечиваются два возможных хода на e3 и e4, также подсвечивается сама клетка пешки e2.
Рис.12. Слоном c1 невозможно походить, т.к. он заблокирован другими фигурами, по этому подсвечивается только клетка слона на c1.
Повторный клик по подсвеченной фигуре снимает с неё выделение. Если в момент выделения одной фигуре кликнуть по другой, то выделение переставляется на другую фигуру, также подсвечивая доступные её ходы.
Для выполнения хода нужно кликнуть по одному из подсвеченных полей кроме поля, где находится сама фигура (Рис.13).
Рис.13. После того как была выделена пешка e2, клик по доступному полю на e4 привел к ходу пешки e2e4.
Для выполнения рокировки необходимо произвести “длинное нажатие” на соответствующую ладью пока это не приведет к перемещению фигур (рис.14). Если “недодержать” длительный клик, то программа “решит”, что вы хотите просто походить ладьёй вместо рокировки и выделит ладью.
Рис.14. Выполнение рокировки. Нужно длительно нажать на клетку h1, пока это не приведет к перестановке фигур.
Если в течение 20 минут за игровым столом не происходит хотя бы одной игры, стол автоматически закрывается.