Проектирование и разработка программных продуктов на примере разработки игрового приложения «Reversi»

Страницы работы

Уважаемые коллеги! Предлагаем вам разработку программного обеспечения под ключ.

Опытные программисты сделают для вас мобильное приложение, нейронную сеть, систему искусственного интеллекта, SaaS-сервис, производственную систему, внедрят или разработают ERP/CRM, запустят стартап.

Сферы - промышленность, ритейл, производственные компании, стартапы, финансы и другие направления.

Языки программирования: Java, PHP, Ruby, C++, .NET, Python, Go, Kotlin, Swift, React Native, Flutter и многие другие.

Всегда на связи. Соблюдаем сроки. Предложим адекватную конкурентную цену.

Заходите к нам на сайт и пишите, с удовольствием вам во всем поможем.

Содержание работы

Министерство образования и науки Российской Федерации

Новосибирский государственный технический университет

Кафедра программных систем и баз данных

Курсовой проект по дисциплине

«Системное и прикладное программное обеспечение»

Факультет:    ПМИ                                                             Преподаватель: Неделько В.М.

Студенты:      Ганжа Е. М. ПМ-64

                         Зыкина Е. С. ПМ-62

                         Матвеева Н. М. ПМ-64

Новосибирск

2008
Аннотация

Целью работы является формирование практических навыков проектирования и разработки программных продуктов на примере разработки игрового приложения  «Reversi».

Введение в предметную область

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

У многих пользователей игровые приложения ассоциируются с небольшими «настольными» играми: различные карточные игры, шашки, шахматы, логические игры и др. Сектор таких программ очень широк. При этом каждая игра рассчитана на своего пользователя.

            Именно поэтому перед нами стояла задача написать игру, рассчитанную на широкий круг пользователей, довольно простую и легкую в освоении.

Спецификация

Интерфейс:

Окно игрового приложения включает в себя игровое поле, поле статуса игры, поле ходов, меню:

а)     игровое поле представляет собой разлинованную область, левая и верхняя части которого являются идентификаторами положения шариков, остальное пространство –, непосредственно, область, в которой проходит перемещение шариков;

б)     поле статуса игры показывает пользователя, чей ход текущий;

в)     поле ходов отображает историю игры;

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

Особенности функционирования:

1)  при запуске, по умолчанию, загружается новая игра, фоновая картинка игрового поля стандартная, шарики стоят на начальных позициях, первый ход принадлежит красному, в поле ходов отображается запись «Начало Игры»;

2)  выбор  хода осуществляется кликом мыши по клетке, в которой указатель принимает вид руки(клетки, в которую можно перемещаться в соответствии с правилами игры). Если была выбрана недопустимая для хода клетка, ход не будет выполнен, и появится сообщение «Ход в эту клетку невозможен»;

3)  двойным кликом по записи в поле ходов можно перейти к тому моменту игры, когда была произведена данная запись хода;

4)  вызов пунктов меню можно осуществить, используя горячие клавиши;

5)  при окончании игры выводится сообщение о результатах: количество шариков каждого игрока;

6)  игра рассчитана на одновременную игру двух пользователей.


Дизайн

Отличительной особенностью данного приложения является возможность изменять фон игрового поля из предложенных или по выбору пользователя.

В реализации игрового приложения выбрано удачное цветовое решение: цвета шариков  гармонируют с клетками идентификаторов ходов.

          1                   

 


                                                                                                                                  2

                                                                                                                       3

     4          

                                                                                                                                  5     

                                                                                                                                                                                                                                                                                                                                                                                                                                                     6

1 - Меню

2 – Поле статуса игры

3 – Клетки идентификаторов ходов

4 – Поле истории ходов

5 – Шарики игроков

6 – Игровое поле


Диаграмма классов

Клас:

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];          //массив для хранения информации о совершенных ходах

Похожие материалы

Информация о работе

Уважаемые коллеги! Предлагаем вам разработку программного обеспечения под ключ.

Опытные программисты сделают для вас мобильное приложение, нейронную сеть, систему искусственного интеллекта, SaaS-сервис, производственную систему, внедрят или разработают ERP/CRM, запустят стартап.

Сферы - промышленность, ритейл, производственные компании, стартапы, финансы и другие направления.

Языки программирования: Java, PHP, Ruby, C++, .NET, Python, Go, Kotlin, Swift, React Native, Flutter и многие другие.

Всегда на связи. Соблюдаем сроки. Предложим адекватную конкурентную цену.

Заходите к нам на сайт и пишите, с удовольствием вам во всем поможем.