игры на паскале



Игра на паскале

Автор Дима юркойть задал вопрос в разделе Другие языки и технологии

Приведите пример игры которая написана на Pascal ABC. и получил лучший ответ

Ответ от Gabdulhanov[гуру]
uses GraphABC, crt;
label metka,metka2;
var x,y: array [1..100] of integer;
n,i,x0,y0,dx,dy,r:integer;
ch,cp:char;
b,p:boolean;
procedure setting;
begin
SetFontColor(clBlue);
SetFontSize(32);
SetFontStyle(fsItalic);
SetBrushColor(ClWhite);
TextOut(WindowWidth-180,260,'Snake');
SetFontColor(clBlack);
SetFontSize(10);
//SetPenColor(clBlack);
Line(WindowWidth-195,0,WindowWidth-195,WindowHeight);
TextOut(WindowWidth-180,20,'N=');
TextOut(WindowWidth-180,40,'Клавиши управления: ');
TextOut(WindowWidth-180,60,'w,s,a,d');
TextOut(WindowWidth-180,80,'p-пауза');
end;
begin
metka2:
n:=3;
hidecursor;
SetWindowCaption('Snake');
for i:=n downto 1 do
x[i]:=60+(n-i)*10;
for i:=1 to n do
y[i]:=110;
r:=5;
randomize;
x0:=(Random(WindowWidth-210) div 10)*10+10;
y0:=(Random(WindowHeight-10) div 10)*10+10;
dx:=10;
dy:=0;
SetBrushColor(clGreen);
for i:=1 to n do
Circle(x[i],y[i],r);
SetBrushColor(clYellow);
Circle(x0,y0,r);
metka:
repeat
sleep(150);
for i:=n downto 2 do
begin
x[i]:=x[i-1];
y[i]:=y[i-1];
end;
x[1]:=x[1]+dx;
y[1]:=y[1]+dy;
ClearWindow;
setting;
TextOut(WindowWidth-160,20,IntToStr(n-3));
SetBrushColor(clYellow);
Circle(x[1],y[1],r);
SetBrushColor(clGreen);
for i:=2 to n do
Circle(x[i],y[i],r);
SetBrushColor(clYellow);
Circle(x0,y0,r);
if (x[1]=x0)and(y[1]=y0) then
begin
n:=n+1;
x0:=(Random(WindowWidth-210) div 10)*10+10;
y0:=(Random(WindowHeight-10) div 10)*10+10;
end;
for i:=2 to n do
if (x[i]=x0)and(y[i]=y0) then
begin
x0:=(Random(WindowWidth-210) div 10)*10+10;
y0:=(Random(WindowHeight-10) div 10)*10+10;
end;
b:=false;
for i:=2 to n do
if (x[1]=x[i])and(y[1]=y[i]) then b:=true;
until (keypressed)or(x[1]<5)or(x[1]>WindowWidth-210)
or(y[1]<5)or(y[1]>WindowHeight-10)or(b);
SetBrushColor(clWhite);
if (n>=33) then
begin
ClearWindow;
TextOut(300,150,'Победа! ');
end;
if (x[1]<5)or(x[1]>WindowWidth-210)
or(y[1]<5)or(y[1]>WindowHeight-10)or(b) then
begin
TextOut(300,150,'Поражение');
TextOut(280,170,'n-начать заново');
ch:=readkey;
while (ch<>'n')and(ch<>'т') do ch:=readkey;
goto metka2;
end
else
ch:=readkey;
if ch = #0 then ch := ReadKey;
case ch of
's','ы',#80: begin dx:=0; dy:=10; end;
'w','ц',#72: begin dx:=0; dy:=-10; end;
'd','в',#75: begin dx:=10; dy:=0; end;
'a','ф',#77: begin dx:=-10; dy:=0; end;
'p','з': begin
TextOut(300,150,'Pause');
p:=true;
while (p) do
begin
cp:=readkey;
if (cp='p')or(cp='з') then p:=false;
end;
end;
end;
if (n<33) then goto metka;
end.

Ответ от Cublen[гуру]
загадай число и угадай его с трех попыток с подсказками

Ответ от 22 ответа[гуру]
Привет! Вот подборка тем с похожими вопросами и ответами на Ваш вопрос: Приведите пример игры которая написана на Pascal ABC.
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*