Об игре
Новости
Войти
Регистрация
Рейтинг
Форум
5:24
1307
 online
Требуется авторизация
Вы не авторизованы
   Форумы-->Форум для внеигровых тем-->

Авторpaskal ABC
классная программа советую пойскат!
Там моно делать реальные игры вроде этого
Игра работает только в етой программе

uses GraphABC;

const types = 3; //число типов рыб минус 1
rmax = 4; //радиус всех рыб
CanEat = rmax; //максимальное расстояние при поедании
eps = 0.00001; //необходимо при операциях с данными real
epsustupi = 0.1; //насколько значима иерархия среди хищников
strahkraj = 3; //во сколько раз жертвы боятся края меньше, чем хищников
ustupi = CanEat*10; //насколько значима иерархия среди хищников
BkColor = clBlack; //Фон
Height = 600; //Высота графического окна
Width = 780; //Ширина графического окна
xmin = 10; //
ymin = 10; //Минимальные и максимальные значения координат,
xmax = Width - 100; //которые могут принимать рыбы
ymax = Height - 140; //

Type
fishtype = class //Описание одной стаи
c, CanRazm, MaxKol, Kol, MaxLife, MinFood: integer;
//цвет, размножение, макс. кол-во, текущее кол-во, макс. жизнь,
//сколько хищнику нужно есть для размножения
Speed, See: real; //Нормальная скорость и зрение в пикселях
constructor create(ac, aCanRazm, aMaxKol, aMaxLife, aMinFood:integer; aSpeed, aSee: real);
begin
c:= ac; CanRazm:= aCanRazm; MaxKol:= aMaxKol; Kol:= 1;
MaxLife:= aMaxLife; MinFood:= aMinFood; Speed:= aSpeed; See:= aSee
end;
procedure ShowKol(y: integer); //отобразить текущее кол-во
var s: string;
begin
SetFontColor(c);
TextOut(xmax + 20, y, ' ');
str(Kol, s);
TextOut(xmax + 20, y, s);
end;
end;

var opisanie: array[0..types] of fishtype; //данные для всех стай

Type
fish = class
x, y, r, dx0, dy0: real; //текущие координаты, радиус и предыдущий шаг
tip, life, razm, status, food: integer;
//razm - время с момента последнего размножения,
//status - состояние - спокойное или возбуждённое
next, prev: fish; //двусвязный циклический список
constructor Create(ax, ay, ar: real; atip: integer; aprev, anext: fish);
begin
x:= ax; y:= ay; r:= ar; tip:= atip; prev:= aprev; next:= anext;
life:= 0; razm:= 0; dx0:= random; dy0:= random; status:= 1; food:= 0;
end;
procedure show;
begin
SetPenColor(opisanie[tip].c);
circle(round(x), round(y), round(r))
end;
procedure hide;
begin
SetPenColor(BkColor);
circle(round(x), round(y), round(r))
end;
destructor Destroy;
begin
hide;
opisanie[tip].kol:= opisanie[tip].kol - 1;
opisanie[tip].ShowKol(tip*40 + 20);
end;
procedure moveto(dx, dy: real);
begin
hide;
x:= x + dx; y:= y + dy;
if x > xmax then x:= xmax;
if x < xmin then x:= xmin;
if y > ymax then y:= ymax;
if y < ymin then y:= ymin;
show
end;

procedure MakeDeti(var mama, StartAkula, KonAkula, StartKilka, KonKilka : fish);
//произвести потомство
var d: fish;
begin
razm:= 0;
food:= 0;
d:= fish.create(x, y, r, tip, mama, next);
next.prev:= d;
next:= d;
if mama = KonAkula then KonAkula:= d;
if mama = KonKilka then KonKilka:= d;
opisanie[tip].kol:= opisanie[tip].kol + 1;
opisanie[tip].ShowKol(tip*40 + 20);
end;

procedure step(var ribka, StartAkula, KonAkula, StartKilka, KonKilka : fish);
//Здесь алгоритмы для рыб
var i, imin: integer;
dx, d
юный паскаль
там даже разрешение классное
зачем эти цифры много?
месторасположение
на информатике научили?
да ты крут
коменти интересние... откуда оно (с)тибрено?)))
фихня ©пёрто

я в обычном паскале сапёра делал... а тут...
каменты порадовали :)
тут игра на выживание
есть обычные рыбы есть и хищники и хищники кушают других
К списку тем
2007-2025, онлайн игры HeroesWM