чирей на попе . javascript slideshow tutorial javascript slideshow java carousel slideshow
© 2012 Наша фича - решение любых проблем!. Все права защищены.


Rambler's Top100

Программирование на Pascal. Описание игрового приложения “ SNAKE ” (Pascal)
 
Автор : mav1 , 11 “а”, ТМОЛ
 
Данное приложение « SNAKE » написано на языке “ Borland Pascal ” с использованием графического режима [ unit GRAPH ] и может быть использовано в игровых целях [для детей дошкольного возраста]. Знаменитая игра “змейка”, популярная уже пару десятилетий, и сегодня остаётся одной из самых увлекательных игр для детей, благодаря простоте в управлении, наглядности и логичности развития событий. Змейка перемещается по экрану, поедая “корм” и при каждой “кормёжке” увеличиваясь в длине и ускоряясь. Задача игрока “съесть” весь корм, не врезавшись при этом в ограждения, а также в самого себя [колечком], т.е. всё как в классической “змейке”. В начале направлять змейку на “корм” легко, но не расслабляйтесь: под конец игры змейка развивает нешуточную скорость!         
 
Данный проект демонстрирует практически возможности алгоритмического языка программирования Borland Pascal 7.0 и в частности модуля “ GRAPH ”. При написании программы использовались циклы со счетчиками, модули GRAPH и CRT , массивы, а расположение “корма” определяется случайной генерацией чисел [ RANDOM ].Также для надёжности работы приложения был использован безусловный переход GOTO .Структура программы логична, никаких сбоев при работе приложения выявлено не было.  
 
Системные требования:     • Pentium 100 MHz ;     • 20 Кбайт свободного места на диске;    • 8 Мбайт RAM ;    • клавиатура;    • MS DOS ;   Управление осуществляется четырьмя клавишами: w , a , s , d .При этом кнопка caps lock должна быть отжата! Выход из программы осуществляется автоматически при выигрыше [выводится сообщение “ you win !”] или проигрыше   [выводится сообщение “ game over !”]           
 
    Данное приложение охраняется законом об авторском праве.  
 

program graphika; {caps lock}
uses graph,crt;
label metka;
var
x,y:array [0..32] of integer;
i,j,gd,gm,x0,y0,dx,dy,r,t,n:integer;
ch:char;
begin
gd:=detect;
initgraph(gd,gm,'');
SETFILLSTYLE(3,2);
FLOODFILL(2,2,2);
setbkcolor(10);
setcolor(9);
settextstyle(1,0,20);
outtextxy(100,150,'CAHEK');
SETTEXTSTYLE(1,0,6);
OUTTEXTXY(460,120,'(R)');
DELAY(1000);
SETBKCOLOR(2);
DELAY(500);
SETBKCOLOR(6);
DELAY(500);
CLEARDEVICE;
setbkcolor(0);
setcolor(15);
settextstyle(0,0,1);
outtextxy(200,200,'starting WINDOWS XP .....'); {NEW}
delay(1000);
outtextxy(410,200,'done');
delay(1000);
cleardevice;
SETCOLOR(10); {otsuda}
settextstyle(1,0,5);
SETBKCOLOR(9);
outtextxy(10,1,'SNAKE BY MAV1');
SETTEXTSTYLE(1,0,2);
OUTTEXTXY(30,50,'BEST GAME FOR 19 SCHOOL !!!');
SETCOLOR(1);
ELLIPSE(500,38,91,90,100,35);
LINE(496,3,504,3);
SETFILLSTYLE(SOLIDFILL,14);
FLOODFILL(500,38,1);
SETFILLSTYLE(1,14);
ARC(495,38,180,360,12);
ARC(519,42,0,180,12);
ARC(471,42,0,180,12);
ARC(543,38,180,360,12);
RECTANGLE(458,43,461,45);
LINE(458,44,460,44);
SETCOLOR(13);
RECTANGLE(54,104,596,456);
RECTANGLE(53,103,597,457);
RECTANGLE(52,102,598,458);
rectangle(51,101,599,459);
SETTEXTSTYLE(2,0,4);
OUTTEXTXY(465,53,'POISON FOREVER !'); {conec ukrasheniyam}
n:=20;
for i:=n downto 0 do
X[i]:=60+(n-i)*10;
for i:=0 to n do
Y[i]:=110;
randomize;
x0:=(random(53)+6)*10;
y0:=(random(34)+11)*10;
R:=5;
DX:=10;
DY:=0;
t:=165;
SETCOLOR(14);
For i:=0 to n-1 do
FillEllipse(X[i],Y[i],R,R);
{Mishen'}
setcolor(14);
fillellipse(x0,y0,r,r);
metka:
repeat {cikl}
delay(t);
for i:=n downto 1 do
begin
X[i]:=X[i-1];
Y[i]:=Y[i-1];
End;
x[0]:=x[0]+dx;
y[0]:=y[0]+dy;
setcolor(14);
setfillstyle(solidfill,14);
fillellipse(x[0],y[0],r,r);
setcolor(9);
setfillstyle(solidfill,9);
fillellipse(x[n],y[n],r,r);
j:=1;
for i:=2 to n do
if (x[0]=x[i])and(y[0]=y[i]) then j:=0;
if (x[0]=x0)and(y[0]=y0) then
begin
t:=t-15;
n:=n+1;
randomize;
x0:=(random(53)+6)*10;
y0:=(random(34)+11)*10;
end;
if t=0 then
begin
delay(1000);
cleardevice;
setbkcolor(10);
settextstyle(1,0,20);
setcolor(9);
outtextxy(150,100,'You');
outtextxy(150,250,'win!');
delay(1000);
setbkcolor(12);
closegraph;
end;
setcolor(14);
setfillstyle(solidfill,14);
fillellipse(x0,y0,r,r);
until keypressed or (x[0]<60) or (x[0]>590) or (y[0]<110) or (y[0]>450) or (j=0);
if (x[0]<60) or (x[0]>590) or (y[0]<110) or (y[0]>450) or (j=0) then
begin
delay(1000);
cleardevice;
settextstyle(1,0,20);
setcolor(14);
outtextxy(150,100,'game');
outtextxy(150,250,'over!');
delay(200);
setbkcolor(12);
closegraph;
end
else
begin
ch:=readkey;
case ch of
#115:
begin
dx:=0;
dy:=10;
end;
#119:
begin
dx:=0;
dy:=-10;
end;
#97:
begin
dx:=-10;
dy:=0;
end;
#100:
begin
dx:=10;
dy:=0;
end;
end;
goto metka;
end;
end.

(c) Mav1 2005

 

Комментарии 

 
+6 #1 КОНЬ 2010-10-13 17:42 индусский код.имхо. Цитировать
 

Добавить комментарий


Защитный код
Обновить

Поиск

Погода

Яндекс.Погода

Голосование

Мы помогли Вам?