Описание и взаимодействие процедур и функций
1. Программа VOXEL
procedure draw(xp,yp,dir:integer);
эта процедура перерисовывает экран. Причем, наблюдатель находится в точке (xp,yp) и смотрит в напрвалении dir
procedure plasma(x1,y1,x2,y2:word);
это рекурсивная процедура, которая строит фрактал “плазма” в прямоугольнике с координатами (x1,y1,x2,y2).
Процедура plasma вызывается только один раз - при первом запуске программы. В дальнейшем построенный фрактал просто хранится на диске(в файл записывается образ памяти длиной 64Кб, начиная с адреса A000:0000) и при старте программы просто считывается из файла.
После первой прорисовки рельефа начинается цикл опроса клавиатуры, в ходе которого могут поменяться координаты наблюдателя а также направление его движения. Цикл останавливается после нажатия клавиши “Esc”.
2. Программа LANDSCAPE
function mouseinstalled : boolean; assembler;
эта функция проверяет наличие драйвера “мыши” в памяти
function getmousex : word; assembler;
эта функция получает х-координату положения “мыши”
function getmousey : word; assembler;
эта функция получает х-координату положения “мыши”
function leftpressed : boolean; assembler;
эта функция проверяет на нажатие левой кнопки “мыши”
procedure mousesensetivity(x,y : word); assembler;
эта процедура устанавливает чувствительность “мыши”
procedure mousewindow(l,t,r,b : word); assembler;
эта процедура задает окно для “мыши”
procedure setvideo(m : word); assembler;
эты процедура устанавливает m-видеорежим
procedure putpixel(x,y : word; c : byte); assembler;
эта процедура рисует точку с координатами (х,у) цвета с
function getpixel(x,y : word) : byte; assembler;
эта процедура возвращает цвет точки с координатами (х,у)
procedure setpal(c,r,g,b : byte); assembler;
эта процедура устанавливает значения компонент цвета (r,g,b) для цвета с
procedure retrace; assembler;
эта процедура ждет обратного хода луча CRT
procedure initcolors;
поцедура инициализации палитры
procedure generatelandscape;
эта процедура генерирует поверхность
procedure displayscape;
эта процедура выводит на экран сгенерированную процедурой generatelandscape поверхность.
|
|