Министерство образования и науки Российской Федерации
Новосибирский государственный технический университет
Кафедра программных систем и баз данных
Курсовой проект по дисциплине
«Системное и прикладное программное обеспечение»
Факультет: ПМИ Преподаватель: Неделько В.М.
Студенты: Ганжа Е. М. ПМ-64
Зыкина Е. С. ПМ-62
Матвеева Н. М. ПМ-64
Новосибирск
2008
Аннотация
Целью работы является формирование практических навыков проектирования и разработки программных продуктов на примере разработки игрового приложения «Reversi».
Введение в предметную область
В современном технологическом мире информационные технологии играют большую роль, и всё больше входят в жизнь обычных людей. Работу, отдых все чаще связывают с компьютером, а собственно отдых с различными мультимедийными и игровыми приложениями.
У многих пользователей игровые приложения ассоциируются с небольшими «настольными» играми: различные карточные игры, шашки, шахматы, логические игры и др. Сектор таких программ очень широк. При этом каждая игра рассчитана на своего пользователя.
Именно поэтому перед нами стояла задача написать игру, рассчитанную на широкий круг пользователей, довольно простую и легкую в освоении.
Спецификация
Интерфейс:
Окно игрового приложения включает в себя игровое поле, поле статуса игры, поле ходов, меню:
а) игровое поле представляет собой разлинованную область, левая и верхняя части которого являются идентификаторами положения шариков, остальное пространство –, непосредственно, область, в которой проходит перемещение шариков;
б) поле статуса игры показывает пользователя, чей ход текущий;
в) поле ходов отображает историю игры;
г) меню состоит из двух подменю, и позволяет создать новую игру, сохранить текущую и загрузить сохраненную, сменить фон основного игрового поля, узнать об игре, вызвать помощь и покинуть игру.
Особенности функционирования:
1) при запуске, по умолчанию, загружается новая игра, фоновая картинка игрового поля стандартная, шарики стоят на начальных позициях, первый ход принадлежит красному, в поле ходов отображается запись «Начало Игры»;
2) выбор хода осуществляется кликом мыши по клетке, в которой указатель принимает вид руки(клетки, в которую можно перемещаться в соответствии с правилами игры). Если была выбрана недопустимая для хода клетка, ход не будет выполнен, и появится сообщение «Ход в эту клетку невозможен»;
3) двойным кликом по записи в поле ходов можно перейти к тому моменту игры, когда была произведена данная запись хода;
4) вызов пунктов меню можно осуществить, используя горячие клавиши;
5) при окончании игры выводится сообщение о результатах: количество шариков каждого игрока;
6) игра рассчитана на одновременную игру двух пользователей.
Дизайн
Отличительной особенностью данного приложения является возможность изменять фон игрового поля из предложенных или по выбору пользователя.
В реализации игрового приложения выбрано удачное цветовое решение: цвета шариков гармонируют с клетками идентификаторов ходов.
1
2
3
4
5
6
1 - Меню
2 – Поле статуса игры
3 – Клетки идентификаторов ходов
4 – Поле истории ходов
5 – Шарики игроков
6 – Игровое поле
Диаграмма классов
Класcы:
class TForm2 : public TForm // класс для окна about
{
__published: // IDE-managed Components
TLabel *Label1;
TLabel *Label2;
TLabel *Label3;
TLabel *Label4;
TLabel *Label5;
TLabel *Label6;
TButton *Button1;
void __fastcall Button1Click(TObject *Sender);
private: // User declarations
public: // User declarations
__fastcall TForm2(TComponent* Owner);
};
class cReversi // класс для описания игры
{
protected:
cTurn turn[Width*Width]; //массив для хранения информации о совершенных ходах
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.