Skip to content

ThinkAndRun/xo_monster

Repository files navigation

README

https://xo-monster.herokuapp.com/

To start a game:

  1. Register and log in
  2. Press the "start" button (check out game settings if you wish)
  3. Share game url with other player

Задание

Тема задания - игра крестики-нолики на доске 10x10. Играют два игрока, побеждает тот, кто первым выстроит в ряд 5 клеток по горизонтали, вертикали или диагонали. Задание нужно выполнить на Ruby on Rails, выбор фронтендового фреймворка (или его отсутствия) остаётся за вами.

Подробнее о задании

Нужно сделать и задеплоить в интернете приложение, через которое реально можно будет сыграть друг против друга. В качестве самого простого и бесплатного решения можно хостить игру прямо со своего компьютера через https://ngrok.com/

API должно предоставлять необходимые методы для

  • добавления игроков
  • старта партии между двумя игроками получения статуса текущей партии выполнения ходов
  • всего, что ещё может потребоваться

Фронтенд должен собственно позволять сыграть партию

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

Что стоит держать в уме

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

  • играть могут много пользователей сразу, одновременно могут идти тысячи партий
  • было бы хорошо иметь возможность играть не только против живого игрока, но и против AI
  • стоит хранить данные так, чтобы можно было воспроизвести интересную партию ход за ходом
  • интересно было бы посмотреть рейтинг лучших игроков и другую статистику
  • аккаунт игрока должен быть защищён от использования другими людьми
  • было бы хорошо использовать API не только для веб-версии, но и для мобильного приложения
  • должен быть более удобный интерфейс старта партии, чем передача ссылки
  • было бы интересно иметь возможность играть не только на поле 10x10, но и на других размерах
  • было бы удобно добавить максимальное время партии, после истечения которого партия переходит в состояние ничьи, либо заканчивается поражением игрока, который слишком долго не делал ход
  • пригодился бы чат, работающий в рамках партии
  • после завершения партии удобна была бы возможность сразу начать новую партию с теми же игроками
  • у интересных игр могут быть не только участники, но и наблюдатели без возможности хода
  • для каждого игрока было бы интересно посмотреть историю его партий

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors