Игра «Пятнашки»

Автор: Пользователь скрыл имя, 13 Декабря 2011 в 17:27, курсовая работа

Описание работы

Цель проекта заключается в том, чтобы создать программу, при помощи которой пользователь сможет проверить свои логические способности, попробовав решить одну из древнейших головоломок «Пятнашки».
Программа должна быть совместима с операционной системой Windows XP, Windows Vista и Windows 7, а так же при разработке программы необходимо использовать функции Win API.

Содержание

Введение...................................................................................................................3
1 Анализ задачи 6
1.1 Цель разработки и функциональное назначение программного продукта 6
1.2 Анализ существующих аналогов продукта 7
2 Требования к программе 8
2.1 Системные требования 8
3 Инструментальные средства для создания программного продукта 10
3.1 Вычислительная система 10
3.2 Среда разработки 13
4 Проектирование 16
4.1 Концептуальный прототип 16
4.2 Описание модулей 18
4.3 Входные данные 20
4.4 Выходные данные 20
4.5 Логика программы 21
5 Тестирование и отладка 22
Заключение 23
Список литературы 24

Работа содержит 1 файл

ПЗ.docx

— 163.26 Кб (Скачать)

       Также существуют следующие варианты Windows XP: Windows XP Tablet PC Edition, Windows XP Media Center Editio, Windows XP Embedded, Windows XP Professional x64 Edition, Windows XP 64-bit Edition, Windows XP Edition N, Windows XP Starter Editio, Windows Fundamentals for Legacy PCs.

       Некоторыми  из наиболее заметных улучшений в  Windows XP по сравнению с Windows 2000 являются:

    • новое оформление графического интерфейса, включая более округлые формы и плавные цвета; а также дополнительные функциональные улучшения (такие, как возможность представления папки в виде слайд-шоу в проводнике Windows).
    • возможность быстрого переключения пользователей, позволяющая временно прервать работу одного пользователя и выполнить вход в систему под именем другого пользователя, оставляя при этом приложения, запущенные первым пользователем, включёнными.
    • функция «удалённый помощник», позволяющая опытным пользователям и техническому персоналу подключаться к компьютеру с системой Windows XP по сети для разрешения проблем. При этом помогающий пользователь может видеть содержимое экрана, вести беседу и (с позволения удалённого пользователя) брать управление в свои руки.
    • программа восстановления системы, предназначенная для возвращения системы в определённое предшествующее состояние (эта функция является развитием аналогичной программы, включённой в Windows Me), а также улучшение других способов восстановления системы. Так, при загрузке последней удачной конфигурации загружается также и прежний набор драйверов, что позволяет в ряде случаев легко восстановить систему при проблемах, возникших в результате установки драйверов; возможность отката драйверов и т. д.
    • улучшенная совместимость со старыми программами и играми. Специальный мастер совместимости позволяет эмулировать для отдельной программы поведение одной из предыдущих версий ОС (начиная с Windows 95).
    • возможность удалённого доступа к рабочей станции благодаря включению в систему миниатюрного сервера терминалов (только в издании Professional).
    • более развитые функции управления системой из командной строки.
    • поддержка проводником Windows цифровых фотоформатов (например, представление папки в виде слайд-шоу) и аудиофайлов (автоматическое отображение метаданных для аудиофайлов, например, тегов ID3 для MP3-файлов).
    • Windows XP включает технологии, разработанные фирмой Roxio, которые позволяют производить прямую запись CD из проводника, не устанавливая дополнительное ПО, а работа с перезаписываемыми компакт-дисками становится подобной работе с дискетами или жёсткими дисками. Также в Media Player включена возможность производить запись аудио-дисков. Возможности работы с образами дисков не предусмотрена.
    • Windows XP может работать с архивами ZIP без установки дополнительного ПО. Работа с архивами данного типа возможна в проводнике как с обычными папками, которые можно создавать и удалять, заходить в архив, добавлять/удалять файлы подобно работе с обычными папками. Также возможна установка пароля на архив. При необходимости можно назначить для работы с этими архивами любое стороннее программное обеспечение.

     Исключительно важной чертой Windows является единый стандарт в работе, как с самой системой, так и с ее программными приложениями. Это означает, что, изучив технологию работы с одной программой, вы легко перейдете к работе с другой. Кроме того, Windows сегодня содержит такой спектр программных средств, что они практически покрывают все сферы человеческой деятельности. Эти средства постоянно пополняются новыми и более совершенными, однако стандарт работы с ними сохраняется.  

    3.2 Среда разработки 

     Данный  проект разрабатывался в программной  среде Microsoft Visual Studio 2008. Visual Studio 2008 нацелена на создание приложений для ОС Windows Vista (но поддерживает и XP), Office 2007 и веб-приложений. Включает в себя новые версии языков C# и Visual Basic.

       Microsoft Visual Studio — линейка продуктов компании Майкрософт, включающих интегрированную среду разработки программного обеспечения и ряд других инструментальных средств. Данные продукты позволяют разрабатывать как консольные приложения, так и приложения с графическим интерфейсом, в том числе с поддержкой технологии Windows Forms, а также веб-сайты, веб-приложения, веб-службы как в родном, так и в управляемом кодах для всех платформ, поддерживаемых Microsoft Windows, Windows Mobile, Windows CE и .NET Framework.

     Visual Studio включает в себя редактор исходного кода с поддержкой технологии IntelliSense и возможностью простейшего рефакторинга кода. Встроенный отладчик может работать как отладчик уровня исходного кода, так и как отладчик машинного уровня. Остальные встраиваемые инструменты включают в себя редактор форм для упрощения создания графического интерфейса приложения, веб-редактор, дизайнер классов и дизайнер схемы базы данных. Visual Studio позволяет создавать и подключать сторонние дополнения (плагины) для расширения функциональности практически на каждом уровне, включая добавление поддержки систем контроля версий исходного кода (как например, Subversion и Visual SourceSafe), добавление новых наборов инструментов например, для редактирования и визуального проектирования кода на предметно-ориентированных языках программирования или инструментов для прочих аспектов цикла разработки программного обеспечения (например, клиент Team Explorer для работы с Team Foundation Server).

     В продукте Microsoft Visual Studio 2008 корпорация Microsoft воплотила свое видение концепции интеллектуальных клиентских приложений (smart client applications). С его помощью разработчики могут оперативно создавать подключенные приложения высочайшего качества, предоставляющие пользователям самые широкие возможности. Visual Studio 2008 значительно упрощает для предприятий сбор и анализ информации, а это означает возможность принятия более эффективных бизнес - решений. Visual Studio 2008 позволяет организациям любого размера разрабатывать более защищенные, управляемые и надежные приложения, в которых будут использованы все преимущества Windows Vista и системы Office 2007.

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

 

    4 Проектирование 

    4.1 Концептуальный прототип 

     Под концептуальным прототипом понимается:

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

     Для удобства работы с программой все необходимые пользователю функции вызываются с одной формы при помощи специальных кнопок и выпадающих списков. Основная форма программы представлена на    рисунке 1.

     

     Рисунок 1 – Основная форма программы. 

     Перемещение клеток в программе осуществляется при помощи клавиш курсора – стрелок вверх, вниз, вправо, влево. Пример перемещения клеток по игровому полю представлен на рисунке 2.

     

     Рисунок 2 – Перемещение клеток по игровому полю. 

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

     Вызов справки осуществляется нажатием левой  кнопкой мыши на пункт меню «Помощь». В данном меню находится два подпункта «О программе» и «Правила игры». Вызов меню «Помощь» представлен на рисунке 3.

      

     Рисунок 3 - Вызов меню «Помощь». 

     При выборе пользователем меню «О программе» появляется  небольшое окно, которое содержит описание программы. Пример окна «О программе» приведен на рисунке 4.

     

     Рисунок 4 – Окно «О программе». 

     Закрытие  данного окна производится путем  нажатия на кнопку «ОК» или при  нажатии левой кнопкой мыши по «крестику» в правом верхнем углу диалогового окна. 

    4.2 Описание модулей 

     Создание главное окна и охранение дескриптора экземпляра осуществляется с помощью функции InitInstance(HANDLE, int). В этой функции мы сохраняем дескриптор экземпляра в глобальной переменной и создаем главное окно. 

BOOL InitInstance(HINSTANCE hInstance, int nCmdShow)

{ HWND hWnd;

   hInst = hInstance; // Сохраним дескриптор экземпляра в нашей глобальной переменной

   hWnd = CreateWindow(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW,

      512, 240, 305, 345, NULL, NULL, hInstance, NULL);

   NewField(Moves);

   if (!hWnd)

   {

      return FALSE;

   }

   ShowWindow(hWnd, nCmdShow);

   UpdateWindow(hWnd);

   return TRUE;

} 

//прорисовываем:

int OnPaint (HWND hWnd)

{

      HDC hdc;

      PAINTSTRUCT ps;

      int iStartX=50, iStartY=50,

      iSizeX=25, iSizeY=35,

      iSizeFld=5,

      iRow, iCol; 

      RECT rt;

      hdc = BeginPaint(hWnd, &ps); 

      MoveToEx(hdc, 0, 3*Size-1, (LPPOINT) NULL);

      LineTo(hdc, 4*Size, 3*Size-1);

      MoveToEx(hdc, 0, 2*Size-1, (LPPOINT) NULL);

      LineTo(hdc, 4*Size, 2*Size-1);

      MoveToEx(hdc, 0, Size-1, (LPPOINT) NULL);

      LineTo(hdc, 4*Size, Size-1); 

      MoveToEx(hdc, Size-1,0, (LPPOINT) NULL);

      LineTo(hdc, Size-1,4*Size);

      MoveToEx(hdc, 2*Size-1,0, (LPPOINT) NULL);

      LineTo(hdc, 2*Size-1,4*Size);

      MoveToEx(hdc, 3*Size-1,0, (LPPOINT) NULL);

      LineTo(hdc, 3*Size-1,4*Size); 

      for(iRow=0;iRow<Side;iRow++)

            for(iCol=0;iCol<Side;iCol++)

            

                  rt.left=iCol*Size;

                  rt.top=iRow*Size;

                  switch(GameField[iRow][iCol])

                  {

case 0: DrawImage(hdc, hBitmapNum0,rt.left,rt.top);

break;

case 1: DrawImage(hdc, hBitmapNum1,rt.left,rt.top);

break;

case 2: DrawImage(hdc, hBitmapNum2,rt.left,rt.top);

break;

case 3: DrawImage(hdc, hBitmapNum3,rt.left,rt.top);

break;

case 4: DrawImage(hdc, hBitmapNum4,rt.left,rt.top);

break;

case 5: DrawImage(hdc, hBitmapNum5,rt.left,rt.top);

break;

case 6: DrawImage(hdc, hBitmapNum6,rt.left,rt.top);

break;

case 7: DrawImage(hdc, hBitmapNum7,rt.left,rt.top);

break;

case 8: DrawImage(hdc, hBitmapNum8,rt.left,rt.top);

break;

case 9: DrawImage(hdc, hBitmapNum9,rt.left,rt.top);

Информация о работе Игра «Пятнашки»