Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Написание игр _ Проблемы со змейкой.

Автор: Илья S. 12.12.2006 18:49

adm.gif Написал вот игру "змейка", но есть недочет.
Я задою две точки.При нажатие клавиши одна точкасмещается другая за ней.
Нжно чтобы между точками была задержка и она равномерно поворачивала.
Нужно,еще,чтобы змейка росла б.



uses crt;
const
h='@';
xmin=1;
ymin=1;
xmax=80;
ymax=25;
var
x,y,vx,vy:integer;
ch:char;
xe,ye,i:integer;
begin
clrscr;
Randomize;
x:=xmin;
y:=ymax div 2;
xe:=12;
ye:=12;
gotoxy(xe,ye);
write ('a');
while (x>=1) and (x<=80) and (y>=1) and (y<=25) do begin
GoTOXY(x,y);
write(h);
delay(20);
if keypressed then begin
ch:=readkey;
case ch of
'd':begin vx:=1; vy:=0 end;
'a':begin vx:=-1; vy:=0 end;
'w':begin vx:=0; vy:=-1 end;
's':begin vx:=0; vy:=1 end;
end;
end;{if}
gotoxy(x,y);
write(' ');
inc(x,vx);
inc(y,vy);
if (x=xe) and (y=ye) then begin
i:=i+1;
clrscr;
xe:=random(70);
ye:=random(20);
gotoXY(xe,ye);
write('a');
end;
end;{while}
write('i=',i);
end.


Напишите пожалуйста Алгаритм к этой задаче чтобы получилась простейшая и правильная змейка smile.gif

Автор: Гость 12.12.2006 20:02

А по точнее

Автор: volvo 12.12.2006 20:27

Илья S., у тебя раздвоение личности? "Сам спрашиваю, сам себе и отвечаю?" dry.gif

Автор: opp0 19.12.2006 2:40

чтоб она росла надо чтоб переменная головы при попадание на координату фрукта или чё-то там плюсировало +1 короче лень мне скрипт смотреть ето элементарно

Автор: Илья S. 19.12.2006 13:40

Цитата(opp0 @ 18.12.2006 22:40) *

чтоб она росла надо чтоб переменная головы при попадание на координату фрукта или чё-то там плюсировало +1 короче лень мне скрипт смотреть ето элементарно


Так вот я и задаю

if (x=xe) and (y=ye) then begin
i:=i+1;

Проблема еще заключается вот в чем: программа у меня не запускается
Толи компилятор неработает толи не знаю что.
хотя я новый недавно поставил.

Если дело в компиляторе скинте пожалуйста ссылку где можно компилятор скачать.

smile.gif give_rose.gif smile.gif