Мегаобучалка Главная | О нас | Обратная связь


Алгоритм решения задачи



2020-02-03 161 Обсуждений (0)
Алгоритм решения задачи 0.00 из 5.00 0 оценок




 

 

Структура программы

 

Программа состоит из 27 файлов. Основным файлом является файл Igra.pas к нему подключены остальные файлы, к которым в свою очередь подключены другие. Проще это подключение представить на графической схеме (рис.3).

 

Процедуры и функции

 

function Clock {время, прошедшее с запуска программы в 1/18 с}

procedure ResetTime; {сброс всех показаний времени в 0}

function GetFPS {текущее число кадров в секунду необходимо вызывать 1 раз в каждом кадре}

function Clock {время, прошедшее с запуска программы в 1/18 c}

procedure ResetTime; {сброс всех показаний времени в 0}

function GetFPS : single;

{текущее число кадров в секунду}

procedure SetTextParm {установка параметров вывода текста}

{color- цвет текста}

{bkcolor- цвет фона}

{typetext = 0 - прозрачный фон}

{typetext = 1 - непрозрачный фон }

procedure GetTextParm (var color,bkcolor,typetext:byte); { запрос текущих параметров }

procedure PutText (x,y:word;text:string); {вывод текста по координатам x,y (верхний левый угол)}

procedure PutChar (x,y:word;chr:char); {вывод символа по координатам x,y (верхний левый угол)}

procedure PutPixel (x,y:word;c:byte); {вывод точки}

functiongetpixel (x,y:word):byte; {запрос цвета точки}

procedure PutPixel (x,y:word;c:byte); {вывод точки}

function getpixel (x,y:word):byte; {запрос цвета точки}

procedure PutPixel (x,y:word;c:byte); {вывод точки}

function getpixel (x,y:word):byte; {запрос цвета точки}

procedure GetBuffer (Sprite:SpriteType); {сохранение фона под спрайтом в буфере}

procedure PutBuffer (Sprite:SpriteType); {восстановление фона}

procedure PutSprite (Sprite:SpriteType); {вывод спрайта на экран}

procedure CreateSprite (s:string; x,y,dx, dy:integer; var Sprite:SpriteType); {"создание" спрайта}

procedure DestroySprite (Sprite:SpriteType); {"уничтожение" спрайта}

procedure CalcSpritePosition (var Sprite:SpriteType); {вычисление новых координат спрайта}

procedure PutBackground (s:string); {создание фона на экране}

procedure CreateScreenBuffer; {создание экранного буфера}

procedure DestroyScreenBuffer; {уничтожение экранного буфера}

procedure ScreenBufferToScreen; {отображение буфера на экран}

procedure CreateScreenBuffer; {создание экранного буфера}

procedure DestroyScreenBuffer; {уничтожение экранного буфера}

procedure ScreenBufferToScreen; {отображение буфера на экран}

procedure GetBuffer (Sprite:SpriteType); {сохранение фона под спрайтом в буфере}

procedure PutBuffer (Sprite:SpriteType); {восстановление фона}

procedure PutSprite (Sprite:SpriteType); {вывод спрайта на экран}

procedure CreateSprite {"создание" спрайта}

procedure DestroySprite (Sprite:SpriteType); {"уничтожение" спрайта}

procedure CalcSpritePosition (var Sprite:SpriteType);

procedure PutBackground (s:string); {создание фона на экране}

procedure SetPal (var pal:byte;nbegpal,lenpal:integer); {установка 256-цветной палитры}

procedure GetPal (var pal:byte;nbegpal,lenpal:integer); {чтение 256-цветной палитры}

procedure WaitVerticalRetrace; {ожидание вертикально обратного хода луча}

procedure BlackPal; {установка "черной" палитры}

procedure FadeOut (p:array of byte); {плавное гашение палитры}

procedure FadeIn (p:array of byte); {плавная установка палитры}

procedure SetPal (var pal:byte;nbegpal,lenpal:integer); {установка 256-цветной палитры}

procedure GetPal (var pal:byte;nbegpal,lenpal:integer); {чтение 256-цветной палитры}

procedure WaitVerticalRetrace; {ожидание вертикально обратного хода луча}

procedure BlackPal; {установка "черной" палитры}

procedure FadeIn (p:array of byte); {плавная установка палитры}

procedure FadeOut (p:array of byte); {плавное гашение палитры}

Function IsMouse: Boolean; {Возвращает TRUE, если мышь доступна}

Function InitMouse: Boolean; {Инициация мыши}

Procedure SetMousePage (Page: Byte); {Устанавливает страницу для указателя мыши}

Function GetMousePage: Byte; {Возвращает номер страницы с указателем}

Procedure SetStepToPixel (Hor,Ver: Integer); {Устанавливает чувствительность мыши}

Procedure GetStepToPixel (var Hor,Ver: Integer); {Возвращает чувствительность мыши}

Procedure SetDoubleSpeed (Speed: Word); {Устанавливает порог удвоения скорости перемещения указателя}

Function GetDoubleSpeed: Word; {Возвращает порог удвоения скорости}

Function MouseTextCooX (X: Integer): Byte; {Возвращает текстовую координату по заданной виртуальной}

Function MouseTextCooY (Y: Integer): Byte; {Возвращает текстовую координату по заданной виртуальной}

Function MouseGraphCooX (X: Byte): Integer; {Возвращает виртуальную координату по заданной текстовой}

Function MouseGraphCooY (Y: Byte): Integer; {Возвращает виртуальную координату по заданной текстовой}

Procedure MouseWhereXY (var X,Y: Integer); {Возвращает виртуальные координаты мыши}

Procedure MouseGotoXY (X,Y: Integer); {Переводит указатель мыши в новое положение

X,Y - виртуальные координаты}

Function MouseWhereX: Byte; {Возвращает горизонтальную текстовую координату}

Function MouseWhereY: Byte; {Возвращает вертикальную текстовую координату}

Function MouseIn (X1,Y1,X2,Y2: Integer): Boolean; {Возвращает TRUE, если указатель находится

в заданном прямоугольнике}

Function NumButton: Byte; {Возвращает количество кнопок мыши}

Procedure GetMouseState (var Butt,X,Y: Integer);

{Возвращает текущее состояние мыши:

BUTT - флаг состояния кнопок;

X,Y- текущие виртуальные координаты}

Function MousePressed: Boolean;

{Возвращает TRUE, если нажата любая кнопка}

Procedure MouseButtPressed (Butt: Integer;

var Stat,Count,X,Y: Integer);

{Возвращает информацию о нажатой клавише:

BUTT - флаг выбора клавиши;

STAT - состояние клавиш;

COUNT - количество нажатий, X,Y - координаты}

Procedure MouseButtReleased (Butt: Integer;

var Stat,Count,X,Y: Integer);

{Возвращает информацию об отпущенной клавише:

BUTT - флаг выбора клавиши;

STAT - состояние клавиш;

COUNT - количество отпусканий;

X,Y - координаты}

Procedure MouseWindow (X1,Y1,X2,Y2: Integer);

{Задает координаты области перемещения

указателя. X1...Y2 - виртуальные координаты}

Procedure MouseScreen; {Устанавливает окно во весь экран}

Procedure ShowMouse; {Показать указатель мыши}

Procedure HideMouse; {Убрать указатель мыши}

Procedure MouseTextCursor (ScrMask,CurMask: Word);

{Устанавливает новый вид текстового указателя}

Procedure MouseBlink (YUp,YDn: Byte);

{Задает аппаратный курсор нужного размера}

Procedure MouseGraphCursor (var ScrCurMask;X,Y: Byte);

{Задает вид графического указателя}

Function MouseBuffSize: Word;

{Возвращает длину буфера для сохранения параметров}

Procedure SaveMouse (var Buff);

{Сохраняет в буфере текущее состояние мыши}

Procedure RestoreMouse (var Buff);

{Восстанавливает сохраненное состояние мыши}

Procedure SetMouseItem (NItem: Byte; var Items);

{Устанавливает элементы для выбора мышью:

NItem - количество элементов;

Items - array [1..NItem] of MouseItemType;

Старые установки сбрасываются}

Procedure AddMouseItem (Item: MouseItemType);

{Добавляет еще один элемент для выбора мышью.

Старые установки сохраняются}

Procedure ClearMouseItems;

{Сбрасывает ранее установленные элементы}

Procedure GetMouseItem (var NItem: Byte; var Items);

{Возвращает установленные элементы}

Function KeyOrMousePressed: Boolean;

{Возвращает TRUE, если нажата клавиша или активна мышь}

Function ReadKeyOrMouse: Char;

{Возвращает символ нажатой клавиши или выбранной опции}

Procedure SetMouseHandler (Mask: Word; Proc: MouseHandlerType);

{Устанавливает адрес и условия вызова обработчика}

Procedure ChangeMouseHandler (Mask: Word;Proc: MouseHandlerType;

var OldMask: Word; var OldProc: Pointer);

Procedure ClearMouseHandler; {Удаляет обработчик событий}

Function IsMouse: Boolean; {Возвращает TRUE, если мышь доступна}

Function InitMouse: Boolean; {Инициация мыши}

Procedure SetMousePage (Page: Byte); {Устанавливает страницу для указателя мыши}

Function GetMousePage: Byte; {Возвращает номер страницы с указателем}

Procedure SetStepToPixel (Hor,Ver: Integer); {Устанавливает чувствительность мыши}

Procedure GetStepToPixel (var Hor,Ver: Integer); {Возвращает чувствительность мыши}

Procedure SetDoubleSpeed (Speed: Word);

{Устанавливает порог удвоения скорости перемещения указателя}

Function GetDoubleSpeed: Word;

{Возвращает порог удвоения скорости}

Function MouseTextCooX (X: Integer): Byte;

{Возвращает текстовую координату по заданной виртуальной}

Function MouseTextCooY (Y: Integer): Byte;

{Возвращает текстовую координату по заданной виртуальной}

Function MouseGraphCooX (X: Byte): Integer;

{Возвращает виртуальную координату по заданной текстовой}

Function MouseGraphCooY (Y: Byte): Integer;

{Возвращает виртуальную координату по заданной текстовой}

Procedure MouseWhereXY (var X,Y: Integer);

{Возвращает виртуальные координаты мыши}

Procedure MouseGotoXY (X,Y: Integer);

{Переводит указатель мыши в новое положение

X,Y - виртуальные координаты}

Function MouseWhereX: Byte;

{Возвращает горизонтальную текстовую координату}

Function MouseWhereY: Byte;

{Возвращает текстовую координату по вертикали}

Function MouseIn (X1,Y1,X2,Y2: Integer): Boolean;

{Возвращает TRUE, если указатель находится

в заданном прямоугольнике}

Function NumButton: Byte;

{Возвращает количество кнопок мыши}

Procedure GetMouseState (var Butt,X,Y: Integer);

{Возвращает текущее состояние мыши:

BUTT - флаг состояния кнопок;

X,Y- текущие виртуальные координаты}

Function MousePressed: Boolean;

{Возвращает TRUE, если нажата любая кнопка}

Procedure MouseButtPressed (Butt: Integer;

var Stat,Count,X,Y: Integer);

{Возвращает информацию о нажатой клавише:

BUTT - флаг выбора клавиши;

STAT - состояние клавиш;

COUNT - количество нажатий, X,Y - координаты}

Procedure MouseButtReleased (Butt: Integer;

var Stat,Count,X,Y: Integer);

{Возвращает информацию об отпущенной клавише:

BUTT - флаг выбора клавиши;

STAT - состояние клавиш;

COUNT - количество отпусканий;

X,Y - координаты}

Procedure MouseWindow (X1,Y1,X2,Y2: Integer);

{Задает координаты области перемещения указателя.

    X1...Y2 - виртуальные координаты}

Procedure MouseScreen;

{Устанавливает окно во весь экран}

Procedure ShowMouse;

{Показать указатель мыши}

Procedure HideMouse;

{Убрать указатель мыши}

Procedure MouseTextCursor (ScrMask,CurMask: Word);

{Устанавливает новый вид текстового указателя}

Procedure MouseBlink (YUp,YDn: Byte);

{Задает аппаратный курсор нужного размера}

Procedure MouseGraphCursor (var ScrCurMask;X,Y: Byte);

{Задает вид графического указателя}

Function MouseBuffSize: Word;

{Возвращает длину буфера для сохранения параметров}

Procedure SaveMouse (var Buff);

{Сохраняет в буфере текущее состояние мыши}

Procedure RestoreMouse (var Buff);

{Восстанавливает сохраненное состояние мыши}

Procedure SetMouseItem (NItem: Byte; var Items);

{Устанавливает элементы для выбора мышью:

NItem - количество элементов;

Items - array [1..NItem] of MouseItemType;

Старые установки сбрасываются}

Procedure AddMouseItem (Item: MouseItemType);

{Добавляет еще один элемент для выбора мышью.

Старые установки сохраняются}

Procedure ClearMouseItems;

{Сбрасывает ранее установленные элементы}

Procedure GetMouseItem (var NItem: Byte; var Items);

{Возвращает установленные элементы}

Function KeyOrMousePressed: Boolean;

{Возвращает TRUE, если нажата клавиша

клавиатуры или кнопка мыши}

Function ReadKeyOrMouse: Char;

{Возвращает символ нажатой клавиши или выбранного элемента}

Procedure MouseHandler; Far; Assembler;

{Ассемблерный интерфейс для вызова обработчика}

Procedure SetMouseHandler (Mask: Word; Proc: MouseHandlerType);

{Устанавливает адрес и условия вызова обработчика}

Procedure ChangeMouseHandler (Mask: Word;

Proc: MouseHandlerType; var OldMask: Word; var OldProc: Pointer); {Заменяет старый обработчик новым}

Procedure ClearMouseHandler; {Удаляет обработчик событий}

function vihod:boolean;

{проверка выбран или нет и клик мышки на надписи"ВЫХОД" }

procedure ReadBMP {чтение изображения из Bmp-файла}

procedure ReadBMPheader (header:bmhptr;filename:string);

{чтение заголовка Bmp-файла}

procedure ReadBMP (image:arptr; var xim,yim:word;

pal:arptr; filename:string); {чтение изображения из Bmp-файла}

procedure ReadBMPheader (header:bmhptr;filename:string); {чтение заголовка Bmp-файла}




2020-02-03 161 Обсуждений (0)
Алгоритм решения задачи 0.00 из 5.00 0 оценок









Обсуждение в статье: Алгоритм решения задачи

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Модели организации как закрытой, открытой, частично открытой системы: Закрытая система имеет жесткие фиксированные границы, ее действия относительно независимы...
Как распознать напряжение: Говоря о мышечном напряжении, мы в первую очередь имеем в виду мускулы, прикрепленные к костям ...
Как вы ведете себя при стрессе?: Вы можете самостоятельно управлять стрессом! Каждый из нас имеет право и возможность уменьшить его воздействие на нас...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (161)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.007 сек.)