Issue 604 in psi-dev: BattleShip Plugin - разработка, пожелания, предложения

0 views
Skip to first unread message

psi...@googlecode.com

unread,
Dec 28, 2014, 2:43:40 PM12/28/14
to psi-...@googlegroups.com
Status: Started
Owner: li...@mail.ru
Labels: Component-Plugins Type-Enhancement

New issue 604 by li...@mail.ru: BattleShip Plugin - разработка, пожелания,
предложения
https://code.google.com/p/psi-dev/issues/detail?id=604

Обсуждение и тест плагина, реализующего игру Морской бой.

Игра реализована на основании протокола, описанного тут:
http://svn.xmpp.ru/repos/tkabber/trunk/tkabber-plugins/battleship/proto
Обычно я не выкладываю не завершенное, но пока нет времени. Пусть полежит,
чтоб не потерялось.

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

Особенности:
- Количество и размер кораблей нестандартно: 5, 4, 3, 2, 2, 1, 1. Это
особенность реализации в ткаббере. Другой набор кораблей он не принимает.
- При инициализации досок и после завершения игры передаются достаточно
большие станзы. Это обусловлено тем, что перед игрой каждая клетка и каждый
корабль подписывается и происходит обмен хэшами, дабы избежать махинаций.

Еще не реализовано:
- Корабли нельзя расставлять самостоятельно. Пока корабли размещаются
случайным образом, нужно всего лишь подтвердить расположение. Код еще не
написан.
- Звуки не работают. Весь код есть, настройки тоже. Надо только расставить
соответствующие вызовы.
- История ходов предусмотрена, но не отображается. Тоже не сложно.
- Есть некоторые проблемы с обновлением доски оппонента. Пока еще не
выяснил причину. Надо вылавливать.
- Возможно имеет смысл поля вокруг уничтоженных кораблей выделять
по-другому.
- Возможно имеет смысл вообще всю доску перерисовать. Мои художества на
любителя.
- Не помешает чистка кода. Много всего переделывалось, код местами ужасен.

Жду пожеланий и предложений из тех что не описаны выше. Ну и, чего уж,
багов конечно.

--
You received this message because this project is configured to send all
issue notifications to this address.
You may adjust your notification preferences at:
https://code.google.com/hosting/settings

psi...@googlecode.com

unread,
Jan 12, 2015, 9:57:13 AM1/12/15
to psi-...@googlegroups.com

Comment #1 on issue 604 by the...@gmail.com: BattleShip Plugin -
разработка, пожелания, предложения
https://code.google.com/p/psi-dev/issues/detail?id=604

Я думаю плагину не помешает следующее:
- информацию о пустом месте вокруг корабля, что выводится после его
полоного уничтожения выводить опционально
- о победе и поражении сообщать диалогом с вопросом "хотите начать игру
заново?" ну и по обоюдному согласию сторон начинать заново, иначе закрывать
игровое поле

Что необязательно, но можно:
- когда ход делает другой игрок, то затемнять игровое поле. Заодно когда
поле с кораблями утверждено, то затемнять и его
- можно корабли сделать готовым набором (можно картинками) и
перетаскиванием (с панельки скажем) размещать корабль (ну там кнопку
повернуть тоже добавить или два вида кораблей сделать под 0 и под 90). Это
значительно ускорит процесс игры

psi...@googlecode.com

unread,
Jan 12, 2015, 10:21:43 AM1/12/15
to psi-...@googlegroups.com

Comment #2 on issue 604 by li...@mail.ru: BattleShip Plugin - разработка,
пожелания, предложения
https://code.google.com/p/psi-dev/issues/detail?id=604

>> - информацию о пустом месте вокруг корабля, что выводится после его
>> полоного уничтожения выводить опционально

Про это написано в разделе "Еще не реализовано". Планирую на месте вокруг
корабля рисовать не точки а затемнять клетки. Визуально должно лучше
смотреться. Реально выстрелы вокруг корабля и так не проставляются.

>> - о победе и поражении сообщать диалогом с вопросом "хотите начать игру
>> заново?" ну и по обоюдному согласию сторон начинать заново, иначе
>> закрывать игровое поле

Тут есть проблема: есть немалый шанс что оба нажмут "Да" и тогда
приглашение прилетит обоим сторонам. И вообще, лишние диалоги порождают
лишние проблемы. Допустим, один нажал "да", другой ничего не успел сделать.
У него уже будет два окна диалога. Мое мнение: лучше использовать
соответствующий пункт меню.

Про затемнение досок подумаю, наверно действительно нагляднее будет. На
счет ускорения процесса игры - не уверен. Много быстрее таскать корабли уже
находящиеся на поле, чем выбирать из набора и все равно таскать.
Reply all
Reply to author
Forward
0 new messages