Программа эмуляции развития популяций животных
procedure Blind ; virtual ;
function Daizwet : word;
function VidnoLi : boolean;
FUNCTION DAIAGE : INTEGER;
end;
Posob=^Tosob;
{metod Tposition}
Implementation
Procedure Tposition.Init(x0,y0:integer);
Begin
x:=x0;
y:=y0;
End;
Function Tposition.Getx:integer;
Begin GetX:=x End;
Function Tposition.Gety:integer;
Begin Gety:=y End;
Constructor Tosob.Init(x0,y0,age0:integer;col:word);
Begin
Tposition.Init(x0,y0);
AGE:=AGE0;
color:=col;
vidno:=false;
End;
Destructor Tosob.Done;
Begin
Tosob.blind;
End;
procedure Tosob.Show;
Begin
putpixel(TPosition.GetX, TPosition.GetY,color);
vidno:=True;
End;
procedure Tosob.Blind;
-25-
Begin
putpixel(TPosition.GetX, TPosition.GetY,GetBKColor);
vidno:=False;
End;
Function Tosob.Daizwet : word;
Begin Daizwet:=color End;
Function Tosob.VidnoLi : Boolean;
Begin VidnoLi:=Vidno End;
FUNCTION TOSOB.DAIAGE:INTEGER;
BEGIN DAIAGE:=AGE END;
End.
-26-
Приложение 3.
Библиотека Mycrt
unit Mycrt;
interface
uses tpcrt,dos;
procedure fon(x:byte);
procedure txt(col:byte);
procedure ramka(x1,y1,x2,y2:integer);
procedure colorwind(v1,v2,v3,v4,fon,text:byte);
FUNCTION COLWORD(COL:BYTE):STRING;
function mes(z:longint):string;
implementation
{***********************************************************}
function mes;
var col:string;
x:integer;
begin
x:=z mod 365;
if (x>=0)and(x<=30) then col:='Январь';
if (x>=31)and(x<=58) then col:='Февраль';
if (x>=59)and(x<=89) then col:='Март';
if (x>=90)and(x<=119) then col:='Апрель';
if (x>=120)and(x<=150) then col:='Май';
if (x>=151)and(x<=180) then col:='Июнь';
if (x>=181)and(x<=211) then col:='Июль';
if (x>=212)and(x<=241) then col:='Август';
if (x>=242)and(x<=272) then col:='Сентябрь';
if (x>=273)and(x<=303) then col:='Октябрь';
if (x>=304)and(x<=335) then col:='Ноябрь';
if (x>=336)and(x<=365) then col:='Декабрь';
mes:=col;
end;
{***********************************************************}
FUNCTION COLWORD;
VAR COLO:STRING;
BEGIN
IF COL=0 THEN COLO:='ЧЕРНЫЙ';
IF COL=1 THEN COLO:='СИНИЙ';
IF COL=2 THEN COLO:='ЗЕЛЕНЫЙ';
IF COL=3 THEN COLO:='ГОЛУБОЙ';
IF COL=4 THEN COLO:='КРАСНЫЙ';
IF COL=5 THEN COLO:='ФИОЛЕТОВЫЙ';
IF COL=6 THEN COLO:='КОРИЧНЕВЫЙ';
IF COL=7 THEN COLO:='СВЕТЛО-СЕРЫЙ';
IF COL=8 THEN COLO:='ТЕМНО-СЕРЫЙ';
IF COL=9 THEN COLO:='СВЕТЛО-СИНИЙ';
IF COL=10 THEN COLO:='СВЕТЛО-ЗЕЛЕНЫЙ';
IF COL=11 THEN COLO:='СВЕТЛО-ГОЛУБОЙ';
IF COL=12 THEN COLO:='СВЕТЛО-КРАСНЫЙ';
IF COL=13 THEN COLO:='СВЕТЛО-ФИОЛЕТОВЫЙ';
IF COL=14 THEN COLO:='ЖЕЛТЫЙ';
-27-
IF COL=15 THEN COLO:='БЕЛЫЙ';
COLWORD:=COLO;
END;
{***********************************************************}
procedure fon;
begin
textbackground(x);
end;
{***********************************************************}
procedure txt;
begin
textcolor(col);
end;
{***********************************************************}
procedure ramka; {вывести рамку}
const
a=#186;b=#187;c=#188;d=#200;e=#201;f=#205;
{T}
var i,j:integer;
begin
hiddencursor;
gotoxy(x1,y1);
write(e);
for i:=(x1+1) to (x2-1) do write(f);
write(b);
for i:=(y1+1) to (y2-1) do
begin
gotoxy(x1,i);
write(a);
gotoxy(x2,i);
write(a);
end;
gotoxy(x1,y2);
write(d);
for i:=(x1+1) to (x2-1) do write(f);
write(c);
hiddencursor;
end;
{***********************************************************}
procedure colorwind; {сделать окно с рамкой}
begin
window(v1,v2,v3,v4);
textbackground(fon);
clrscr;
textcolor(text);
ramka(1,1,v3-v1,v4-v2);
end;
{***********************************************************}
begin
end.
-28-
Приложение 4.
Инструкция пользователя.
Запустить на исполнение файл 'fauna.exe', который
должен находится в одном каталоге с файлом 'egavga.bgi'.
На экране появиться основное горизонтальное меню, с тремя пунктами: 'Start', 'Option', 'Quit'.
Активизация графического режима и запуск отображения на экран произойдет при нажатии клавиш 's' или 'S'.
Выход из программы можно осуществить клавишами 'q' или 'Q'.
Активизация меню 'Option' произойдет при нажатии клавиш 'O' или 'o'. В этом меню появиться три пункта - 'Herbivorous', 'Beast of prey', 'Environment'. При нажатии 'H' или 'h' будут задаваться параметры травоядных. При нажатии 'B' или 'b' будут задаваться параметры хищников. При нажатии 'E' или 'e' будут задаваться параметры окружающей среды. При вводе параметров хищников, травоядных и окружающей среды надо следовать подсказкам появляющимся внизу экрана.
При нажатии клавиши 'Esc' произойдёт выход в DOS из
любого места программы.