Skip to content
This repository was archived by the owner on Jan 22, 2023. It is now read-only.

John-Pier/RMI_Snake

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RMI_Snake

Snake App is developed with RMI

Написать распределенное клиент-серверное приложение, используя указанную технологию распределенной объектной обработки. Приложение реализует игру «Змейка» со следующими правилами:

  • в игре присутствует один игрок-пользователь;
  • пользователь управляет движущимся объектом (змейкой);
  • змейка выполняет задания серверного приложения (например, пересечь заданную точку на экране, выполнить заданную траекторию, и т.д.);
  • при успешном выполнении задания игрок получает некоторый гешефт (например, змейка увеличивается, игрок получает баллы, и т.д.)
  • игра прекращается при нарушении некоторых ограничений игры (например, выход за границу игрового поля, пересечение змейкой самой себя, и т.д.).

Вариант 2. Технология RMI.

  1. Десктоп приложение
  2. Начальный экран - Начать игру, Достижения, Выход
  3. Достижения - таблица с временем, очками и длинной змейки (Топ 10 игр)
  4. Игра:
  • движение осуществляется с помощью клавиатуры
  • первое движение начнется после нажатия кнопки направления на клавиатуре
  • На карте переодически будут размещаться <Фрукты>, сьев которые зменя увеличивается и получает очки (чем быстрее, тем больше)
  • ход осуществляется по таймеру, в течение хода необходимо нажать на клавишу для выбора направления (если нужно) и на следующем ходу змейка повернет
  • Игра завершается, если : выход за границу игрового поля, пересечение змейкой самой себя (и возможно блоки препядствий)
  • Пользователь может досрочно завершить игру, нажав кнопу "Завершить" или Esc
  • На экране будет присутствовать счетчик очков
  1. Справка по игре будет доступна в верхнем углу начального экрана. Так же краткий гайд будет размещен под игровым полем на экране игры

Внутренняя организация: Технология RMI

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

Исключительные ситуации:

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

Начальные данные: 21*21 размер поля. Змейка посередине

About

Snack App is developed with RMI

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages