Главная страница
Навигация по странице:

  • Состав команды: Мальцев Артем, гр. 1308 Пестерев Виктор, гр. 1306 Симанович Иван, гр. 1308 Постановка задач

  • В проекте были использованы

  • Дизайн интерфейса клиентской части и описание пользовательского опыта

  • Реализация клиентской части и связь её с серверной частью

  • Тест-кейс №1: регистрация пользователя

  • Тест-кейс №2: вход пользователя в систему

  • Тест-кейс №3: Ошибка входа в систему

  • Тест-кейс №4: Изменение настроек

  • Тест-кейс №5: Проигрыш на игровом поле

  • Постановка задач Задание


    Скачать 363.15 Kb.
    НазваниеПостановка задач Задание
    Дата07.02.2023
    Размер363.15 Kb.
    Формат файлаdocx
    Имя файлаOtchet_Realizatsia_klient_servernoy_zmeyki_arkhitektury_prilozhe.docx
    ТипДокументы
    #925048

    Реализация клиент – серверной архитектуры приложения

    Состав команды:

    • Мальцев Артем, гр. 1308

    • Пестерев Виктор, гр. 1306

    • Симанович Иван, гр. 1308



    Постановка задач:

    Задание:

    Реализовать клиентскую часть клиент-серверного приложения с использованием pyhon web-фреймворка либо библиотеки для создания GUI на python.

    Дизайн интерфейса клиентской части и описание пользовательского опыта;

    Выбранные технологии (какой фреймворк или библиотека, что-то ещё если нужно);

    Реализация клиентской части и связь её с серверной частью;

    Тест-кейсы (минимум 5 кейсов);

    Пример работы.

    В проекте были использованы:

    • Механика игры написана на Python с использованием PyGame

    • База данных sqlite3

    • Фреймворк flask

    • В качестве средств контейнеризации применяется Docker

    • Связь клиентской части с сервером осуществляется с помощью библиотеки Socket.IO


    Дизайн интерфейса клиентской части и описание пользовательского опыта

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





    Реализация клиентской части и связь её с серверной частью

    В клиентской части не происходит никаких вычислений, связанных с игрой. Изначально инициализируется окно, в котором происходит отрисовка меню входа и регистрации. Зайдя в систему, то есть отправив данные на сервер, сервер сверяет их с имеющимися в БД, а затем позволяет или не позволяет пользователю пройти к основному меню.

    Далее пользователь может изменить настройки или запустить игру. Изменяя настройки, пользователь отправляет на сервер данные, которые изменяют на сервере необходимые константы для инициализации игровой среды. Запустив игру, на клиентской части закрывается меню и начинается отрисовка игрового поля. В этот момент на сервере происходит инициализация игровой среды и среды змейки-бота.

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

    Тест-кейс №1: регистрация пользователя

    Нужно зарегистрировать нового пользователя.

    Сервер должен сообщить об успешной регистрации.







    Тест-кейс №2: вход пользователя в систему:

    Нужно войти в систему с помощью имеющегося аккаунта.

    Должно появится главное меню.





    Тест-кейс №3: Ошибка входа в систему:

    Необходимо ввести неправильный логин при входе в систему.

    Система должна выдать ошибку.





    Тест-кейс №4: Изменение настроек:

    Необходимо поменять настройки и проследить, что константы изменились на сервере.







    Тест-кейс №5: Проигрыш на игровом поле

    Необходимо запустить игру и проиграть, при этом набрав меньше фруктов, чем бот. Победа должна быть у бота, а пользователю должен быть предложен перезапуск





    Пример работы

    В тест-кейсах можно проследить примеры работы приложения.

    Еще примеры запуска игры с разными настройками:





    Пример работы программы


    Вход в систему и начало игры



    Показ таблицы рекордов

    Пример игры


    написать администратору сайта