Для реализации графики было выбрано стандартное средство WinAPI – использование контекста устройства.
Контекст устройства (англ. Device Context) является основным инструментом, применяемым в Windows для обеспечения независимости приложений от устройств. Понятие «Контекст устройства» является частью графической подсистемы Windows GDI (интерфейс Microsoft Windows для представления графических объектов и передачи их на устройства отображения, такие как мониторы и принтеры, отвечающий за отрисовку линий и кривых, отображение шрифтов и обработку палитры).
Контекст устройства — это внутренняя структура, для управления информацией о выходном устройстве. Она содержит информацию о параметрах и атрибутах вывода графики на устройство (например, дисплей или принтер). Вместо направления вывода непосредственно на аппаратное устройство, приложение направляет его в контекст устройства, а затем Windows пересылает вывод в аппаратное устройство.
Вот пример, показывающий этапы, необходимые для вывода строки в клиентскую область окна посредством обращения к контексту устройства:
//Получить дескриптор контекста устройства клиентской области окна.
HDC hDC = GetDc( hWnd );
//выбрать указанный объект в контексте устройстваSelectObject( hDC, GetStockObject ( ANSI_VAR_FONT ) ));
//изменить цвет текста(в данном случае на красный)
SetTextColor ( hDC, RGB(255,0,0));
//Вывести строку текста в клиентскую область
TextOut( hDC, 0, 0, "Text output to client area.", 27 );
//освободить контекст устройства
ReleaseDC( hWnd, hDC );
Контекст устройства всегда содержит перо для рисования, кисть для закрашивания областей, шрифт для вывода символов и ряд других объектов.
Для
простых игр, которые не требуют быстрой графики, использование GDI больше чем
оправдано. Однако GDI не может обеспечить качественную анимацию (нет
возможности синхронизации с framebuffer (буфером кадра)). Также GDI не хватает
растеризации для отрисовки 3D графики. Однако для наших целей он идеально
подходит.
2 ОПИСАНИЕ СТРУКТУРЫ ПРОГРАММЫ И АЛГОРИТМОВ РАБОТЫ
В соответствии с постановкой задачи была разработана игра в среде VS на языке С++, которая представляет собой окно, развернутое на весь экран, разделенное на 2 части: в первой расположен HUD c меню; во второй находится непосредственно поле игры, с расположенными на нем элементами: стенкой окружающей все поле, пеньками, яблоком и непосредственно самой змейкой. Опции меню содержат возможность просмотра информации об игре, начала игры сначала, остановки игры на паузу и продолжения ее после остановки, завершения программы. Подробней о построении программы:
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.