Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лабораторная работа8.doc
Скачиваний:
2
Добавлен:
01.04.2025
Размер:
143.87 Кб
Скачать

8. Варианты заданий (16-30)

16.

Реализовать сетевую игру со следующими правилами. Игра ведется между двумя игроками. Одному игроку назначается роль «монстра», другому роль «убегающего». Игроки ставятся в некие клетки карты, карта состоит из проходимых полей и стенок. В игре выигрывает «убегающий» если он достигает условленной клетки выхода или «монстр» если он встает на клетку, соседнюю с «убегающим». Отображать состояния игрока и его оппонента на каждом ходе игры.

17.

Реализовать сетевую игру со следующими правилами. Игра ведется между двумя игроками. Сервер отсылает игрокам список заклинаний (не менее чем четыре элемента должно быть в списке), из которых игроки выбирают себе тройку заклинаний, далее игроки по очереди применяют друг к другу (а может и на себя – но это не обязательно при реализации программы) одно из доступных им заклинаний, пока какой-либо игрок не выиграет, победив другого. Отображать состояния игрока и его оппонента на каждом ходе игры.

18.

Реализовать сетевую игру со следующими правилами. Игра ведется между двумя игроками. Одному игрок управляет кораблем, другой подводной лодкой. Игроки ставятся в некие клетки карты, все клетки которой проходимы. Игроки могут перемещаться по карте. В игре выигрывает «корабль» если он достигает условленной клетки выхода, передвижения «корабля» на карте виды ему самому и оппоненту. Передвижение «подводной лодки» не видно «кораблю» и «подводная лодка» может не только перемещаться, но и установить в клетке, где она расположена, мину (всего лодка имеет две мины). Мины не видны кораблю и если корабль подорвется на мине, выигрывает «подводная лодка». Отображать состояния игрока и его оппонента, в соответствии с правилами игры, на каждом ходе игры.

19.

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

20.

Сервер ожидает подключения К клиентов. Каждый клиент отсылает серверу слово. Сервер отсылает каждому клиенту список всех предложений, которые можно составить из полученных слов.

21.

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

22.

Сервер обладает базой тестов, состоящей из произвольного числа вопросов и числа ответов на каждый вопрос. Клиент, подключившись к серверу, отвечает на вопросы теста и получает свой результат в процентах правильных ответов. Сервер должен уметь работать со многими клиентами одновременно. Для каждого клиента сервер перемешивает порядок записи вопросов и порядок записи ответов каждом вопросе.

23.

Реализовать сетевую игру «Орегонская Тропа» со следующими правилами. В игре может участвовать от одного до трех клиентов. Клиенты должны пройти один и тот же путь. Тот, кто дойдет до пункта назначения первым, тот выигрывает игру. Даже если все клиенты-оппоненты убиты и остался только один, игра ведется до прибытия в финальную точку. Клиенты должны видеть перемещение и свое и оппонентов. Клиенты с течением времени перемещаются по пути, не предпринимая для этого никаких интерфейсных действий. Но в случайных точках пути стоят разбойники, когда клиент доходит до этой точки, начинается дуэль. Во время дуэли клиенту дается случайный набор символов, например «ыдатжфцтпю». Клиент должен ввести эти символы: если он введет их с ошибкой, клиент умирает. Клиент останавливает передвижение по пути, когда он вводит символы, и продолжит его только после ввода (если не умрет). Если игра ведется одним клиентом без соперников и клиент вводит символы за время большее, чем N секунд, то игрок погибает.

24.

Гадание с помощью сервера. Клиент подключается к серверу и отсылает ему запрос. Сервер, получив запрос клиента, выбирает для него три произвольных различных карты из колоды и отсылает клиенту значение полученного расклада. Клиент, получив ответ сервера, выдает на экран значение расклада. Для определения значения расклада использовать базу данных вида (карта, значение), сохраняемую в файле в области видимости сервера. Сервер должен уметь работать со многими клиентами одновременно.

25.

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

26.

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

27.

Реализовать сетевую игру со следующими правилами. Сервер хранит карту путей между различными точками, каждый путь обладает длиной. В игру играют два игрока. Изначально оба игрока устанавливаются на одну и ту же точку. Выигрывает тот, кто первым дойдет до финишной точки. На каждом ходе игроки бросают кубик и передвигаются по пути на выпавшее расстояние. Если игрок доходит до развилки, то указывает в какую сторону он повернет. Игроки-клиенты должны видеть на каждом ходе перемещение свое и оппонента.

28.

Сервер хранит базу данных файлов, где каждый файл представлен записью вида (название, размер, сколько раз файл скачивался). Клиент подключается к серверу и далее может получить список всех файлов на сервере и отослать запрос на скачивание конкретного файла. Клиент «скачивает» фал в течении времени, пропорционального его размеру, по окончанию закачки клиент может отправлять новый запрос. Сервер запоминает для каждого файла число скачиваний. Сервер должен уметь работать со многими клиентами одновременно.

29.

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

30.

Реализовать сетевую игру со следующими правилами. Игра ведется между двумя игроками, каждый игрок обладает личным полем три на три клетки. В начале игры каждый игрок устанавливает фишку на свое поле и указывает клетку поля, где по его мнению находится фишка оппонента. Если положение фишки оппонента угадано верно – игрок выигрывает. Если никто не угадал положение фишки соперника, делается следующий ход, в начале которого каждый игрок может оставить свою фишку там где она есть, или сдвинуть ее вниз, вверх, влево или вправо. На каждом ходе игроки делают предположение о положении фишки соперника. Игра ведется до победы одного или обоих игроков, игроки выводят результаты игры по ее окончанию.