Постановка задачи
Постановочная часть
ВВЕДЕНИЕ
Пример пояснительной записки к курсовому проекту
Примерная тематика курсовых проектов
Тема: Компьютерная игра "Лабиринт".
Цель курсового проекта: разработать приложение для операционной системы Windows, реализующее компьютерную игру «Лабиринт».
Условие задачи:
Игра "Лабиринт" состоит в том, что играющий перемещается в двухмерном пространстве по помещениям здания, план которого неизвестен. Начиная с произвольного помещения, путешественник должен найти выход из здания. Каждое помещение может иметь четыре двери: север, восток, юг, запад. План здания необходимо считать из текстового файла в связанный список. Порядок следования помещений в списке должен быть произвольным. Находясь в N-om помещении, игрок может получить справку о правильном направлении движения, если верно ответит на вопрос по теме "Алгоритмические языки и программирование".
Назначение курсового проекта: досуг программиста.
Область применения: Поскольку ставится задача разработать приложение для Windows, то использоваться программа может только под управлением Windows 9x.
В условии задачи игры "Лабиринт" указывается на необходимость использования динамической структуры "связанный список" и текстового файла для хранения информации о плане помещений лабиринта, поэтому нужно в постановку задачи включить определения динамических структур и организации файлов, а также обзор методов работы с такими структурами. В задаче также требуется организовать подсказку для выбора направления движения в лабиринте. Подсказкой может служить правильно выбранный ответ по теме курса. Представляемые играющему вопросы и варианты ответа также должны быть считаны из файла на диске. На организацию этого файла не накладываются дополнительные требования, поэтому студент должен сам принять решение о структуре файла.
После описания общих положений тематики работы, необходимо указать конкретные методы решения поставленной задачи. Математическая формулировка в данном случае заменяется словесным описанием.
Предположим, что помещения здания соединяются между собой так, как показано на рис.1.
Рис. 1. Пример плана помещений
Информация о плане здания должна храниться в файле в последовательности: номер комнаты; номера комнат, смежных с данной. Смежные комнаты перечислены в порядке: север, восток, юг, запад (рис. 2). Порядок следования помещений в этом списке может быть любым, как: и последовательность номеров помещений на плане.
Рис. 2. Информация о плане здания, представленном на рис. 3
Файл с данными считывается и помещается в список, исходя из номера помещения (рис.3). Spi — указатель на начало списка.
Затем файл считывается еще раз и с учетом наличия дверей генерируется связь помещений (рис. 4).
Рис. 4. Начало списка помещений после второго прочтения
Звездочкой помечены ссылки, равные Nil.
Перемещение игрока в лабиринте осуществляется путем выбора им одного из вариантов направления движения. Игрок вводит номер комнаты, с которой начинается путешествие. Если лакого помещения в лабиринте нет, то об этом выдается сообщение. Если такая комната существует, то играющему предлагается выбрать направление движения, которое можно определить, воспользовавшись подсказкой. Помощь заключается в том, что на экран высвечивается вопрос по теме курса "Алгоритмические языки и программирование" и 4 варианта ответа. Правильный ответ указывает направление дальнейшего движения. Неправильный ответ дает неверное направление или вызывает сообщение о невозможности передвижения. Вывод подсказки на экран и выбор правильного ответа осуществляются с помощью специальной процедуры, которая обращается к файлу на диске. Файл-подсказку сделаем типизированным. Количество компонентов файла равно количеству помещений в здании-лабиринте. Номер компонента файла соответствует номеру помещения. Правильный ответ расположен в положении, определяющем верное направление. Компонент типизированного файла имеет тип "запись", где отводится поле для хранения вопроса по теме курса и поле - массив предлагаемых ответов.
Запись:
· Поле вопроса.
· Поле 4-х ответов.
Признаком окончания игры является ссылка на помещение с номером 999.
В программу включим возможность создания и корректирования файлов плана помещения и подсказки.