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

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

Форум «Всё о Паскале» _ Написание игр _ ЗМЕЙКА

Автор: FreeMan 30.04.2004 20:27

Вот наброски игрухи "змейка" в текстовом режиме. :D

Код

uses crt;
var
c:char;
x,y,x1,y1,s:byte;
df:byte;
lose:boolean;
procedure random_xy(var x_,y_:byte);forward;
{=============================}
procedure random_xy(var x_,y_:byte);
begin
repeat
x_:=random(79);
until x_>0;
repeat
y_:=random(24);
until y_>0;
end;
{=============================}
procedure beginn;
begin
random_xy(x,y);
random_xy(x1,y1);
lose:=false;
df:=2;
s:=0;
end;
{============================}
procedure writes(x_,y_:byte;ch_:byte);
begin
mem[$0b800:(y_-1)*80*2+(x_-1)*2]:=ch_;
end;
begin
textbackground(black);
clrscr;
randomize;
beginn;
writes(x,y,5);

repeat

repeat
gotoxy(1,25);
write(s);
writes(x1,y1,0);
case df of
1:begin
if y1=25 then lose:=true else inc(y1);
writes(x1,y1,2);
delay(15000);
end;
2:begin
if x1=80 then lose:=true else inc(x1);
writes(x1,y1,2);

delay(10000);
end;
3:begin
if y1=1 then lose:=true else dec(y1);
writes(x1,y1,2);
delay(15000);
end;
4:begin
if x1=1 then lose:=true else dec(x1);
writes(x1,y1,2);
delay(10000);
end;
end;
if ((x1=x) and (y1=y)) then begin

random_xy(x,y);
writes(x,y,5);
inc(s);
end;

until (keypressed or (lose));
c:=readkey;
case c of
#72:df:=3;
#75:df:=4;
#77:df:=2;
#80:df:=1;
end;
if lose then begin
gotoxy(20,12);
writeln('you lose. do you want to begin(y/n)');
repeat
c:=readkey;

case c of
'y':begin
beginn;
clrscr;
writes(x,y,5);
end;
end;
until (c='y') or (c='n');

end;
until ((ord(c)=27) or (lose));
end.

Автор: AlaRic 1.05.2004 10:43

Во Пакарисе я сузил границы до y>~5-8 и вверху сделал счет, жизни и уровень.

Автор: FreeMan 1.05.2004 16:16

это только наброски.

Автор: FreeMan 2.05.2004 16:11

а слабо на ПАКАРИС исходы выложить????? ;)

Автор: AlaRic 2.05.2004 19:27

FreeMan код все еще оптимизируется.

Автор: FreeMan 2.05.2004 20:46

Код будет оптимизироваться намного быстрее если ты его выложишь! Ведь тогда каждый захочет оптимизировать твой код. Я, кстати, сегодня в свою змейку добавил файл рекордов. Советую сделать и тебе.