Среда, 18 Декабря 2024, 12:06

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Помогите в создании змейки
Invisible_GhostДата: Среда, 21 Января 2015, 21:46 | Сообщение # 1
уже был
Сейчас нет на сайте
Она создаётся в двух местах сразу.Дальше вообще хз что творится. Чтобы упростить прогу я многое закомментил. Это мой первый опыт, если я реально серьёзно ошибся, сильно не хайте.
Код:
program easy_snake;
uses graphabc;
type
{breakpoint=record
bpos,bnapr:integer;
created:boolean;
procedure create(pos,napr:integer);
begin
bpos:=pos;
bnapr:=napr;
created:=true;
end;
procedure destroy;
begin
bpos:=0;
bnapr:=0;
created:=false;
end;
end;
}
part=record
px,py:integer;
pnapr:integer;
created:boolean;
//journal: text;
procedure create(x,y,napr:integer);
var
defcolor:color;
begin
px:=x;
py:=y;
pnapr:=napr;
defcolor:=brush.Color;
writeln(px,' ',py);
setbrushcolor(clred);
fillrect(px,py,px+5,py+5);
textout(x,y,'Created there2');
setbrushcolor(defcolor);
created:=true;
textout(x,y,'Created there2');
// assign(journal,'C:\Users\user\Desktop\ghostpascal\snake\journal.txt');
//rewrite(journal);

//write(journal,'Part created');
end;
procedure destroy;
var
defcolor:color;
begin
defcolor:=brush.Color;
setbrushcolor(clwhite);
//journal.Close;
fillrect(px,py,px+5,py+5);
setbrushcolor(defcolor);
//redraw;
created:=false;
//writeln(journal,'closed');
//journal.Close;
end;
procedure move;
var
defcolor:color;
begin
defcolor:=brush.Color;
setbrushcolor(clwhite);
fillrect(px,py,px+5,py+5);
case pnapr of
1:px+=5;
2:py+=5;
3:px-=5;
4:py-=5;
end;
setbrushcolor(clred);
fillrect(px,py,px+5,py+5);
//writeln(journal,' Moved');
setbrushcolor(defcolor);
//redraw;

end;
end;
snake=record
//bps:array [1..101] of breakpoint;
body:array [1..101] of part;
created:boolean;
size:byte;
n:integer;
procedure create(x2,y2,napr:integer);
var
x3,y3:integer;
begin
x3:=x2;
y3:=y2;

body[10].create(x3,y3,napr);
body[10].created:=true;
created:=true;
size:=1;
setbrushcolor(clbrown);
textout(x3,y3,'Created there1');
end;
procedure move;
var
a,b:integer;
begin
for a:=1 to size do
begin
{for b:=1 to n do
begin
if bps[b].created=true then
begin
if bps[b].bpos=a then body[a].pnapr:=bps[b].bnapr;
bps[b].bpos-=1;
if bps[b].bpos<1 then bps[b].destroy;

end;

end;}
body[a].move;
end;
//redraw;
end;{
procedure rotate(napr:integer);
begin
n+=1;
if n=11 then
n:=1;
bps[n].create(size,napr);
end;
}
procedure grow;
begin
size+=1;
body[(size-101)*(-1)].create(body[(size-102)*(-1)].px,body[(size-102)*(-1)].py,body[(size-102)*(-1)].pnapr);
end;
end;
var
a,b:integer;
sn:snake;
p:part;
begin
coordinate.SetOrigin(50,50);
sn.create(50,50,1);
sn.grow;
for a:=1 to 100 do
begin
sn.move;
//sn.rotate(random(5));

sleep(100);
end;
end.
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг