JAJC/Plugins/Reversi
Contents
Плагин для логической игры Реверси[edit]
Плагин для JAJC "Реверси" является первым игровым плагином для этого, достаточно популярного и одного из самых удобных Jabber клиентов для Windows. (Написано несколько лет назад :-)) С его помощью Вы сможете играть в Реверси со своими друзьями, находить новых друзей, общаться во время игры, наблюдать за чужими играми, просматривать рейтинги игроков, свои и чужие результаты, статистику по играм (и многое другое в комнате !reversi! на сервере conference.jabber.ru).
Цель игры[edit]
Игра «Реверси» похожа на настольную игру Othello®. Это стратегическая игра, в которой может быстро изменяться счет, требующая заблаговременного обдумывания ходов.
В нее играют на доске с 64 полями (как в шашках и шахматах) белыми и черными фишками. Цель игры состоит в том, чтобы фишек выбранного цвета на доске было больше, чем фишек соперника.
Это требует определенного мастерства, поскольку в этой игре удача может стремительно изменяться, как это явствует из ее названия.
Игра заканчивается, когда у соперников не остается разрешенных ходов. Обычно к концу игры все поля доски заняты фишками. Побеждает игрок, фишек которого на доске больше.
Игра[edit]
В начале игры на доске всегда стоят четыре фишки. Две из них белые и две — черные. Черные всегда ходят первыми.
Чтобы захватить фишки соперника, необходимо поставить свою фишку на одну линию с ними, на соседнее поле, причем с другой стороны на этой линии также должна находиться ваша фишка. Например, если вы играете черными и видите на доске линию из белых фишек, с одной стороны от которой стоит черная фишка, поставьте фишку с другой стороны от этой линии. Все белые фишки в этой линии станут черными.
Допустимыми являются все прямые линии: горизонтальные, вертикальные и диагональные.
Допускаются только ходы, при которых окружаются и захватываются фишки соперника. На каждом ходе необходимо захватывать хотя бы одну фишку соперника.
Если допустимых ходов нет, ход пропускается. В этом случае ход автоматически передается сопернику.
Приемы и советы[edit]
Помните, что в ходе игры позиция важнее числа очков. Ищите способы извлечь долгосрочную выгоду, поскольку лидерство по числу фишек может постоянно переходить от одного соперника к другому.
Некоторые игроки предпочитают занимать несколько позиций в центре доски и предоставлять сопернику возможность захватывать внешние края группы фишек на протяжении большей части игры. Затем, в конце игры, эти игроки могут ставить фишки в любых полях по краям доски и захватывать множество фишек за несколько ходов.
В конце следует занять края доски, чтобы соперник не мог ставить фишки по краям группы. Поэтому не следует ставить фишки в поля, соседние с крайними. Рекомендуется занимать поля на расстоянии двух полей от края доски.
Самые лучшие позиции — углы, поскольку фишки в углах не могут быть захвачены.
Проникая на территорию соперника, проверяйте линии со всеми возможными углами наклона. Например, белые могут целиком занимать вертикальный столбец, но он может быть разбит по горизонтали или диагонали.
Иногда можно захватить фишки соперника в нескольких линиях, поставив одну фишку. Ищите такие возможности.
Если можно сделать ход, после которого у соперника не останется разрешенных ходов, сделайте этот ход. В этом случае у вас будет два хода подряд. В комнате !reversi! на сервере conference.jabber.ru вы можете посредством ввода следущих команд получать некоторую информацию:
!top - посмотреть 10 лучших игроков;
!top 8c - посмотреть 10 лучших для 8-углового варианта;
!score Your_nick посмотреть очки по нику, дату последней активности, дату регистрации;
!score_8c Your_nick посмотреть очки по нику для игры в 8 углов;
!all - посмотреть количество игр, количество зарегистрированных пользователей и кол-во активных;
!view_position position - посмотреть игрока с местом position;
!get_wants - посмотреть желающих поиграть;
!games - посмотреть текущие игры.
Руководство по установке и использованию плагина.[edit]
Чтобы установить плагин, нужно скачать плагин (позже будет предоставляться самоустанавливающийся вариант), распаковать содержимое архива (файл Reversi.dll) в папку plugins в папке с JAJC (руководство по установке и настройке JAJC). Если JAJC у Вас уже запущен, необходимо его перезапустить. После этого в Tools->Plugins должен появиться Reversi game 4 JABBER с указанием версии плагина, пожалуйста, чаще проверяйте обновления, это поможет избежать ошибок! После этого в ростере (контакт-лист) в группе "Агенты" ("Agents") должен появиться новый пункт "Reversi", двойным кликом по нему вызывается окно, в котором нужно зарегистрироваться. Наберите желаемый ник в строке "Login" и нажмите "Registration", вам сообщат о результате ("Permission denied", если Вы уже зарегистрированы, "Your nick is already in used", если такой ник уже есть в системе). Потом нажмите Authorization, активным станет окно "Status" и кнопка "Game". Поздравляем, Вы зарегистрировались в нашей системе!
Окно "Status" определяет, готовы ли Вы принять вызов к игре от других игроков ("Ready for game" - готов к игре) или Вы не хотите играть ("Busy" - занят). Кнопка Log out нужна, чтобы выйти из системы. "Auto authorization" определяет, будет ли плагин автоматически входить в систему при запуске JAJC. Кнопка "Change Skin" позволяет выбрать "скин" для игры. Кнопка "Settings" вызывает окно настроек. Рассмотрим их подробнее:
Настройки - кнопка "Settings".
Здесь Вы можете выбрать wav звуки на определенные события ("Invite" - приглашение, "System Message" - системное сообщение, "Your move" - когда Вы походили, "Opponent's move" - когда походил соперник, "You win" - Вы выиграли, "You lose" - Вы проиграли, "Time left" - время хода истекает).
У каждого звука можно задать: "Play" - нужно ли вообще проигрывать звук для данного события, "Non-Active Only" определяет, что звук будет воспроизводиться, только если в момент этого события, окно с игрой в неактивном состоянии. "When time still had less, than ... seconds" определяет, когда должен начинать воспроизводиться звук "Time left" и "Every ... seconds" с какой переодичностью. "Show message" определяет, нужно ли выводить при этом системное сообщение.
"Make move only when game window is active" - определяет, что клик по игровому полю будет считаться ходом, только если окно с игрой перед этим было активно (для защиты от нежелательных ходов).
"Auto ready for game when Online" - будет ли плагин автоматически принимать входящие приглашения к игре, когда Вы устанавливаете в JAJC статус Online, "... Ready for chat" тоже самое для статуса "Ready for chat".
"Auto busy when Away, Ext. Away, DND" - плагин автоматически исключает Вас из списка желающих играть, когда устанавливается один из перечисленных статусов.
"Show invites only in tray" - показывает приглашения к игре только как иконку в системном трее, чтобы принять/отклонить его надо произвести двойной клик по иконке.
"Show notification in system tray when your move and game window is not active" - показывать в системном трее напоминание о необходимости хода, когда окно с игрой не активно.
Кнопка "Game": начало игры, наблюдение чужих игр, просмотр статистики. По нажатию кнопки "Game", появляется окно, в котором можно увидеть "Wishing to play" - людей, готовых играть и "Current games" - те, кто играет сейчас. Чтобы начать наблюдение за чужой игрой, надо кликнуть по интересующей Вас игре (в поле ввода должен появиться ник одного из игроков), и нажать кнопку "Observe" (после этого нужно подтвердить свое желание наблюдать за игрой, нажав на "Yes").
Чтобы начать игру, надо кликнуть по желаемому сопернику в окне "Wishing to play" (в поле ввода "Game with" должен появиться ник этого игрока) и нажать "Game by nick" (после этого нужно подтвердить свое желание наблюдать за игрой, нажав на "Yes"), если соперник согласится с Вами играть, откроется окно с игрой, иначе придет системное сообщение "Failure from...". Справа от окна "Wishing To Play", перед началом игры Вы можете установить режим игры: "/","|","--" - означают положение фишек играющих в начале игры, диагональное, вертикальное и горизонтальное соответственно. "8c" - режим игры с "8 углами" (идея grobа), когда нельзя ставить фишки в края (для этого режима ведется отдельный подсчет рейтингов!).
Когда установлен Статус "Ready for game", Вас может пригласить играть любой из участников системы (даже если у него самого Cтатус "Busy". При этом Вам будет предложен выбор, соглашаться на игру с данным участником ("Game with...?") и при данных условиях игры (устанавливаются вызывающей стороной, показываются в окне как "Diagonal","Vertical" или "Horizontal" - положение фишек в начале, "8 corners" - если выбран вариат с 8 углами), если Вы согласны на игру с этим соперником в данных условиях, нажмите "Yes", иначе "No".
Флажок "Autorefresh with interval ... seconds" определяет, будет ли информация в окнах "Wishing to play" и "Current games" автоматически обновляться с указанным интервалом в секундах. Кнопка "View Top" позволяет просмотреть в удобном виде статистику лучших игроков. Кнопка "View info by nick" позволяет просмотреть информацию о любом игроке - просто введите его ник в поле для ввода и нажмите кнопку, если оставить поле ввода пустым, то отобразиться информация о Вас.
Собственно игра =)
После согласия на игру по приглашению, или после принятого вызова на игру, откроется окно с игрой. В левой части окна находится игровое поле с фишками, в правой - информационная панель, на ней отображена следущая информация: "You are Black/White" - Вы играете Черными/Белыми. В самом низу находится ник Вашего сопрника. "Your move/Opponent's Move" - Ваш ход или ход соперника. В заголовке окна отображается Ваш ник, время, оставшееся на текущий ход ("Time left", на каждый ход отводится 2 минуты), "*" если за Вашей игрой кто-то наблюдает. Чтобы сделать ход, надо кликнуть мышью по клетке, в которую собираетесь ходить. Последний ход соперника подсвечивается другим цветом фона фишки.
Кликнув правой кнопкой мыши в окне, Вы увидите контексное меню. "Send message for opponent" - послать сообщение сопернику. "Send Pause game request" - послать запрос на паузу игры, если соперник согласится на паузу, окно свернется, время остановится, а игру можно продолжить, нажав "OK" в сообщении "Game paused!". "View Observes" - показывает окно со списком наблюдающих за игрой. Любого из наблюдающих можно выгнать, выбрав его ник или JID и нажав соответствующую кнопку снизу.
Подсчет очков[edit]
Смысл рейтинга
Рейтинг игрока - это мера его мастерства. Чем больше партий сыграл игрок, тем точнее рейтинг отражает его положение относительно других игроков. Требования к правилу вычисления рейтинга следующие:
Победа не должна приводить к уменьшению рейтинга, а поражение - к его повышению.
Победа против более сильного игрока должна сильнее повышать рейтинг. И наоборот, поражение от более слабого - сильнее его опускать.
Рейтинг нового игрока как можно быстрее должен принять значение, отражающее реальное мастерство этого игрока.
Этим требованиям удовлетворяет принятая во всем шахматном мире рейтинговая система, придуманная Арпадом Эло (попросту, рейтинг ЭЛО). Мы используем упрощенную модификацию этого рейтинга.