Сетевая игра МОРСКОЙ БОЙ+. Управляемая форма

Популярная игра "Морской бой" для всех видов клиентов 1С:Предприятие 8.2 (8.3). Игра с компьютером и с оппонентом по сети.

Игра возможна как с компьютером, так и с оппонентом по сети. В качестве сетевого ресурса обмена информацией между игроками используется КаталогВременныхФайлов сервера 1С (кластера). Т.е. в игру можно играть как в рамках одной конфигурации так и в двух различных, единственное условие — эти конфигурации должны использовать один общий сервер 1С (кластер).

P.S. Возможна медленная работа из-за особенностей платформы, т.к. в обработке используется графическая схема, а она, похоже, каждый раз «перерисовывается» целиком, после очередного действия, производимого над ней. Даже попытка использования gif-анимации приводит к статической картинке. Т.е. графическая схема формируется не сервере одним рисунком и затем публикуется для отображения на клиенте.

45 Comments

  1. Serj1C

    Симпатично!

    Reply
  2. Lokiy

    Молодцом !

    Reply
  3. Irwin

    Поддержу (1), действительно симпатично смотрится.

    Reply
  4. frc

    Замечательная графика.

    Только вот 1с для даже для такой простейшей игры не предназанчена — не тянет.

    Reply
  5. frc

    Автор, корабли не могут соприкасаться «бортами».

    Reply
  6. frc

    Еще бы порекомендовал паузу 1-2 секунда между последовательными ходами компьютера — а то графически трудно уследить, куда он ходит, приходитмся читать/искать текстовое описание хода.

    Ну, и заодно иммитация «компьютер вроде как думает».

    А то ляпает ходы и «бездумно», и не видно куда 🙂

    Reply
  7. bobank

    (5) frc, только углами.

    Reply
  8. bobank

    (6) frc, это можно сделать самостоятельно. Найти в тексте модуля формы текст ПодключитьОбработчикОжидания и установить время в секундах, сейчас 1 сек.

    Reply
  9. RomAsVo

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

    Reply
  10. Ёпрст

    (7) тоже не может

    Reply
  11. bobank

    (10) Ёпрст, в каждом отдельно взятом регионе свои правила.

    Reply
  12. bobank

    (9) RomAsVo, что-то подобное было здесь на инфостарте, поищите.

    Reply
  13. soulsteps

    Автор молодчик!!! Классная игрушка! Только одно замечание, если корабль «убит», он должен по перефирии полностью обводиться. Скрин прилагаю. А так супер, безукоризненно плюс автору.

    Reply
  14. bobank

    (13) soulsteps, обводится «убитый» полностью, т.к. прошу не забывать, что в правилах этой игры корабли могут соприкасаться углами, поэтому обводятся только те клетки, которые соприкасаютя гранями.

    Reply
  15. scorp_23

    обнаружил небольшой баг — если после промаха игрок продолжит нажимать на клетки в поле противника, то продолжится обстрел поля компьютера — нет блокировки ходов игрока, пока компьютер не сделал свой шаг. я так выиграл, не дав сделать ни одного шага компьютеру)

    Reply
  16. bobank

    (16) scorp_23, ну да, забыл про это. обработчик ожидания работает только когда нет активности пользователя.

    Reply
  17. ivs200999

    Впервые слышу про ограничения по размещению кораблей на поле.

    Reply
  18. echo77

    Плюс за творческий подход к реализации графической составляющей игры.

    Еще бы сетевую игру сделать, например, через записи справочника/документа/регистра

    Reply
  19. Varies

    (18) ivs200999, Впервые слышу что их нету.

    bobank, в «Морском бое» действительно есть ограничение на размещение кораблей, углы не должны соприкасаться. Я ещё со школы помню когда играли на двух тетрадных листах 🙂 Потом на компьютерах появились игры, там тоже такие же правила. Если не ошибаюсь сетевой «Морской бой» был реализован в маил.ру агенте и там тоже такие же правила.

    Reply
  20. bobank

    (21) kilokilo, 1$m

    Reply
  21. steg

    а почему игра не запускается

    Reply
  22. frc

    (23) steg,

    потому что на управляемых формах и должна запускаться в УП.

    Reply
  23. frc

    (18) ivs200999,

    корабли, когда «плавают», бортами не соприкасаются 🙂

    Reply
  24. Odini4ka69

    (24) frc, всё сообразил )))

    Reply
  25. TrueGadich

    Автору +

    Reply
  26. SerebanSK

    Автору +. Интересное оформление получилось. Как-то писал морской бой на visual basic в технаре. Только в правилах обычно принято, чтобы корабли не соприкасались углами и обводить убитого со всех сторон соответственно. Предлагаю добавить уровни сложности. Алгоритм элементарный: добитие раненых включается с определенного уровня и в зависимости от уровня у компьютера может быть несколько «невидимых» попыток попасть. т.е. он бьет один раз — не попал — ячейку не открываем, а даем ему еще одну попытку и только во второй(или 3,4 — в зависимости от сложности) открываем ячейку даже если не попал. Ну а если попал то все как обычно. Выше 5-ого уровня играть не реально), а десятый разносит за 2-3 хода.

    Reply
  27. Пуд

    Действительно здорово:)

    Reply
  28. alexsey777

    Прикольно. Автор молодец.

    Reply
  29. vbuots

    Противник расставляет кораблики рядом, красивоо сделано +.

    http://pix.am/ozKU/

    Игру по сети делать будете?

    Reply
  30. bobank

    Сетевая версия на подходе. Выбираю варианты взаимодействия — либо через общий сетевой ресурс, либо через объект конфигурации, но тогда теряется смысл во внешней обработке. Так же разрабатываю протокол обмена (мне он для других целей потом пригодится).

    Готовую версию обработки выложу ориентировчно в понедельник — вторник.

    Reply
  31. bobank

    (32) vbuots, да я уже писал выше, что в правилах этой игры корабли могут соприкасаться углами, но не гранями.

    Reply
  32. bobank

    Реализован сетевой режим, т.е. игра с оппонентом.

    Перезалил файл.

    Reply
  33. serega3333

    (35) красивая реализация, зачетно

    Reply
  34. xzevsx

    Улыбнуло, нужная вещь

    Reply
  35. ksai

    (34)

    В правилах классической игры «Морской бой» корабли ни в коем случае не соприкасаются углами. О том, что есть другой вариант игры, когда это возможно, узнал впервые из этой публикации. Это ж читерство чистой воды 🙂

    Reply
  36. mc1c80

    Только вчера подумал как написать, а тут уже есть. Молодец.

    Reply
  37. Zord

    Хорошая штука

    Reply
  38. mc1c80

    Попробуем скачать. Автору +.

    Reply
  39. deemaa

    Однозначно плюс за реализацию и дизайн, очень креативно). Это относится и к другим работам автора. Вообщем молодец!

    Reply
  40. piton66

    За идею ставлю плюс!!!

    Reply
  41. Bukaska

    За идею — плюс)))

    Reply
  42. miroha

    На 8.3 не работает, корабли не появляются, только на 8.2

    Reply
  43. bobank

    Вероятно проблема с релизом платформы. Только что проверил, все работает (платформа 8.3.5.1383, веб-клиент, тонкий клиент)

    Reply
  44. tsatsur

    Кто-то пробовал на 8.3.15?:)

    Reply
  45. tsatsur

    (48) Изменить уже не могу, попробовал — работает.

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *