Вариант 12. Система поддержки составления расписания занятий



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

В расписании фиксируются время и место проведения занятия, предмет и преподаватель, проводящий занятие, а также номер группы, для которой это занятие проводится. Некоторые занятия проводятся для нескольких групп: потока или всего курса.

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

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

При работе над этим вариантом задания необходимо разработать схему базы о расписании, курсах, преподавателях.

Вариант 13. Игра «Пасьянс-косынка»

Требуется разработать модель игровой программы "Пасьянс-косынка".

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

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

· поместить туза в пустой столбец дома, если туз является последним в стопке или верхним в открытой части колоды;

· поместить последнюю карту стопки или верхнюю карту открытой части колоды в дом, если она подходит по масти и старшинству (например, 3¦ на 2¦);

· поместить последнюю карту стопки или верхнюю карту открытой части колоды или верхнюю карту столбца дома в другую стопку так, чтобы соблюдался порядок – соседние карты имеют масти разного цвета и расположены подряд по убыванию старшинства (например, Д¦ переложить на К?);

· сделать такой же ход с несколькими подряд идущими картами какой-либо стопки, включая последнюю(!) (например, 10¦, 9?, 8¦, 7? переложить на В? из другой стопки);

· положить короля или несколько подряд идущих начинающихся с короля карт из стопки, включая последнюю(!), в начало пустой стопки.

Помимо указанных ходов пользователь может:

· открыть последнюю закрытую карту стопки, если ее открытая часть пуста;

· открыть закрытую верхнюю карту колоды и положить ее сверху открытой части колоды;

· повторно закрыть колоду, если она вся была открыта, при этом порядок карт в колоде сохраняется.

Любое последнее действие пользователя может быть им отменено. Неправильные ходы не допускаются. Корректное состояние игры должно восстанавливаться после неверных ходов.
Игра заканчивается, если нельзя сделать ни одного из указанных ходов, либо если все карты оказались в доме. В ходе игры ведется подсчет очков:

· за перемещение карты в дом +10 очков;

· за возврат карты из дома в стопку -15 очков;

· за перемещение карты из колоды в стопку +5 очков;

· за открытие карты в стопке +5 очков;

· за каждый повторный просмотр колоды -100 очков;

· при отмене пользователем последнего действия начисленные очки (в плюс или в минус) снимаются.

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

В любой момент можно начать игру заново, нажав соответствующую кнопку, при этом все набранные очки сгорают.

В ходе выполнения этого варианта задания должна быть разработана схема базы данных о состоянии игрового поля и таблице рекордов.


Дата добавления: 2022-01-22; просмотров: 70; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!