Найти тему
El Vinto

Мои шахматы-онлайн

Обновлено 26.02.2023

Всех приветствую!

Сегодня произошло в моей творческой карьере достаточно важное событие. Я таки завершил разработку наиболее серьёзного (по моим меркам) мобильного приложения - "Шахматы-онлайн", и довёл его до рабочей версии. Тот, кто пробовал сделать приложение шахмат, знает с каким количеством трудностей придётся столкнуться, если не использовать никакие сторонние разработки. Разработка шахмат-онлайн была вызовом самому себе. Ну вот - лирики, пожалуй, достаточно.

Приложение позволяет играть, что характерно, в шахматы, причем по двум правилам. Первые - классические (рис.1), о которых все знают и тут останавливаться особо не на чем; вторые - малоизвестные, но очень интересные на мой взгляд - это шахматы Фишера (рис.2) или как их иногда называют Шахматы-960. Предложенный некогда вариант 11-м чемпионом мира по шахматам - Робертом Фишером, очень понравился мне. Ради возможности играть по второму варианту, я и решил замутить этот проект. Правила шахмат Фишера практически ничего не меняют в обычных, кроме как начальную расстановку фигур на поле - они располагаются случайно, пешки расставляются аналогично классическим шахматам.

Рис.1. Классические шахматы
Рис.1. Классические шахматы

Есть в шахматах Фишера в случайной расстановки фигур всё же некоторые правила: король обязательно должен быть где-то между двух ладей (в любом от них интервале), слоны обязательно должны быть черного поля и белого поля, фигуры черных и белых расставляются симметрично относительно друг друга. Рокировка также доступна только один раз вправо или влево, но количество свободных полей (между королём и ладьёй) для её осуществления зависит от начальной позиции.

Рис.2. Один из 960 вариантов начальной позиции шахмат Фишера
Рис.2. Один из 960 вариантов начальной позиции шахмат Фишера

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

Теперь немного по самому приложению

После открытия приложение запросит от вас никнейм (рис.3). Введите удобное для вас имя.

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

Рис.3. Начало работы с приложением
Рис.3. Начало работы с приложением

После установки соединения с сервером, вы оказываетесь в списке игровых столов (рис.4).

Рис.4. Список игровых столов
Рис.4. Список игровых столов

Здесь можно создать свой собственный со своими правилами удобным для вас цветом стороны (рис.5), либо присоединиться к уже существующему, приняв правила этого стола (рис.6).

Рис.5. Создание нового игрового стола.
Рис.5. Создание нового игрового стола.
Рис.6. Присоединение к существующему столу
Рис.6. Присоединение к существующему столу

Если вы присоединяетесь к пустому столу (за которым нет игроков), то у вас появляется возможность изменить его правила также, как если бы вы создавали новый игровой стол. Отсутствие игрока за столом отображается знаком "-//-" зелёного цвета той стороны-цвета, где игрока нет, либо с двух сторон, если за столом нет игроков. Полностью занятые столы двумя игроками могут в списке не отображаться совсем.

Оказываясь за столом, за которым кроме Вас никого нет, приложение находится в режиме ожидания присоединения другого игрока-оппонента (рис.7).

Рис.7. Приложение в режиме ожидания подключения оппонента.
Рис.7. Приложение в режиме ожидания подключения оппонента.
В любой момент можно покинуть игровой стол стандартной кнопкой возврата, однако, если при этом была уже начата партия, то она будет автоматически завершена Вашим поражением (аналогично сдать партию).
При этом, если вы просто стандартно закроете приложение или переключитесь на другое приложение, то партия будет продолжать находиться в режиме игры, однако, и игровое время будет также считаться (такое действие НЕ приведет к остановке или прерыванию игрового времени).

После присоединения другого игрока к партии, надпись "Ожидание подключения игрока" исчезнет и приложение перейдет в режим готовности каждого игрока (рис.8). В этот момент каждый из двух игроков должен сообщить о своём намерении играть партию, кликнув по кнопке "Предложить новую игру". Если другой игрок уже опередил Вас в намерении начать партию, то кнопка приобретёт вид "Согласиться на новую игру", сохраняя при этом тот же смысл.

Рис.8. Ожидание готовности каждого игрока
Рис.8. Ожидание готовности каждого игрока

После того как оба игрока выразили намерение играть партию, приложение переходит в режим игровой партии, а игровое время начнет счет (рис.9).

Рис.9. Ход игровой партии
Рис.9. Ход игровой партии

В этом режиме доступны следующие действия: произвести ход, сдаться, предложить ничью, покинуть игровой стол признав при этом своё поражение. Когда один игрок предлагает ничью, другой получает на экране уведомление (рис.10).

Рис.10. Уведомление, когда другой оппонент предлагает ничью.
Рис.10. Уведомление, когда другой оппонент предлагает ничью.

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

Для совершения хода кликните по своей фигуре один раз чтобы выделить ту фигуру, которой собираетесь ходить (рис. 11). При этом также будут подсвечены все доступные ходы этой фигуры. Если данной фигурой походить невозможно (либо нет свободных клеток, либо ход приведет к шаху "своего" короля), то подсвеченной будет только эта фигура (рис.12).

Рис.11. После клика на пешку e2. Подсвечиваются два возможных хода на e3 и e4, также подсвечивается сама клетка пешки e2.
Рис.11. После клика на пешку e2. Подсвечиваются два возможных хода на e3 и e4, также подсвечивается сама клетка пешки e2.
Рис.12. Слоном c1 невозможно походить, т.к. он заблокирован другими фигурами, по этому подсвечивается только клетка слона на c1.
Рис.12. Слоном c1 невозможно походить, т.к. он заблокирован другими фигурами, по этому подсвечивается только клетка слона на c1.

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

Для выполнения хода нужно кликнуть по одному из подсвеченных полей кроме поля, где находится сама фигура (Рис.13).

Рис.13. После того как была выделена пешка e2, клик по доступному полю на e4 привел к ходу пешки e2e4.
Рис.13. После того как была выделена пешка e2, клик по доступному полю на e4 привел к ходу пешки e2e4.

Для выполнения рокировки необходимо кликнуть по королю, при этом среди подсвеченных возможных ходов должна быть выделена ладья, после чего произвести "длинное нажатие" на соответствующую ладью пока это не приведет к перемещению фигур (рис.14). Если "недодержать" длительный клик, то программа "решит", что вы просто хотите походить ладьёй вместо рокировки, и выделит ладью.

Рис.14. Выполнение рокировки. Нужно длительно нажать на клетку h1, пока это не приведет к перестановке фигур.
Рис.14. Выполнение рокировки. Нужно длительно нажать на клетку h1, пока это не приведет к перестановке фигур.

Если кликнуть по пользователю во время игры, можно посмотреть историю всех игр с этим игроком (если кликнуть по своему аккаунту, то будет история всех ваших игр со всеми игроками):

Список игр с игроком
Список игр с игроком

Если далее из списка игр с игроком кликнуть по самой игре, то пользуясь кнопками навигации, можно посмотреть все ходы в партии:

Просмотр ходов сыгранной ранее партии
Просмотр ходов сыгранной ранее партии

Кнопки навигации теперь также доступны и во время игры, однако ход можно произвести только если расстановка соответствует последнему ходу (нужно нажать навигацию переместиться на последний ход).

Навигатор ходов во время игры
Навигатор ходов во время игры

Приложение для скачивания:

На RU-STORE (версия 18):

На Play Market (версия 18) https://play.google.com/store/apps/details?id=com.elvinto.elvintochess

На моём домене (версия 18):

https://chess.elvinto.ru/downloads/app-release.apk

Шахматы
558K интересуются