Skip to content

Black-Viking-63/Komanda_TP

Repository files navigation

Komanda

Лаюораторные работы №2-3

Вариант №9:

Сетевая игра «Команда» для двух игроков. Поле 8×8 клеток, на котором все объекты отображаются обоим игрокам. Каждый игрок управляет бойцом, который либо ходит в одном из четырёх направлений, либо стреляет в одном из четырёх направлений. При стрельбе уничтожается первый объект, находящийся в том направлении. Игроки ходят по очереди. На поле случайно генерируются враги. Если враг достигнет клетки с бойцом, то боец погибает. За ход все враги перемещаются на одну клетку в случайном направлении. Цель игроков уничтожить всех врагов. Игроки проигрывают, если оба погибают.

Описание задания:

№2

Требуется разработать приложение или программный комплекс, обменивающийся данными по сети в формате JSON.

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

Описание алгоритма:

№2

Было реализовано клиент-серверное приложение для игры в сетевую игру "Команда". Программа последовательно предоставляет игрокам доступ к игре для выполнения своего хода: движение на одну свободную клетку в одном из четырех направлений или же выстрел в одном из четырех направлений.

Для управления персонажем используются следующие кнопки WASD - движение, стрелки - стрельба.

На поле стенку обозначает символ решетки(#), игрока - собака (@), врга - амперсанд (&), пустую клетку - точка (.).

№3:

В программу было добавлено сохранение текущего состояния игры в виде сохранения .json файла. Также была добавлена валидация .json при загрузке игры из файла. Json схема находится в "SaveDataJSchema.json" файле.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages