Задание. Игра «21 палочка online»
Суть задания
Разработать онлайн-версию игры «21 палочка», оформив её как приложение Flask, использующее пользовательские сессии.
Ваше приложение должно обрабатывать следующие URL:
/
(главная страница) — сообщение с названием игры, правилами и ссылкой «Начать игру»start/
— начало игры, инициализация сессии, игровая страницаtake/N/
— ход пользователя, обработка хода, ответный ход, вывод этого всего добра на игровую страницу. Здесь N — это число палочек, которое берёт игрок, то есть, например, take/2/. Предусмотреть возможность ошибочного хода (игрок может ввести неправильный ход вручную).
Игровая страница
На игровой странице выводится следующая информация:
Игра «21 палочка»
Было палочек: 21
Вы взяли: 3, осталось: 18.
Я беру: 1.
Осталось палочек: 17
Ваш ход: беру 1 | беру 2 | беру 3Начать сначала
Полужирный текст — это ссылки на соответствующие страницы (/take/1/
, /take/2/
, /take/3/
и /start/
).
На самом первом игровом экране после старта нет сообщений «Было палочек: XX, вы взяли: X, осталось: XX, я беру: X», ведь это первый ход.
Когда игрок проигрывает, ему сообщается об этом и остаётся только ссылка на начало игры.
Примеры вёрстки страниц игры вы можете скачать отсюда, если хотите: 21-stick-online-templates.zip.
Реализация
Поскольку мы пока не можем хранить информацию на серверной стороне, задействуем механизм пользовательских сессий. В сессии будем хранить текущее количество палочек. Старт игры сбрасывает сессию.
Развёртывание на сервер
Дополнительное задание: попробуйте заставить вашу игру работать на хостинге PythonAnywhere.com.