ВОТ ТИПА ПЕРВЫЙ ИСХОДНИК ТОЛЬКО НЕ РУГАЙТЕ ЗА КОД ПЕРВАЯ МОЯ ВЕСТЧ
Uses Graph,crt,lbmptpu,Keypress;{biblioteca po klave} var key:Char; ex:boolean;
size,size2,size3, d,e12,e13,m,xm, ym,y,x,dx,dy:integer;
xa,ya,dxa,dya:integer; sc,sc1,sc2:pointer; x1,y1,x2,y2,x3,y3:integer; x0,y0:Integer; modul,i,i1,i2,i3,i4:byte;
Procedure snd; begin Sound(40);delay(40);Nosound; end;
Procedure FireR; begin SetColor(200); OutTextXY(200,100,'Vistrel v Pravo'); end;
Procedure FireL; begin SetColor(84); OutTextXY(200,200,'Vistrel v Levo'); end; (*========NACHINAEM OSNOVNOE JADRO========*) BEGIN Ingr(3);{Instal to Graph} LoadBMP('c:gampole.dat',800,600); {Load BMP files} size:=imagesize(141,151,169,177); {------------------} getmem(sc,size); {|Spreite v pamjat|} GetImage(141,151,169,177,sc^);{------------------} PutImage(141,151,sc^,xorput); size2:=imagesize(174,149,220,165); getmem(sc1,size2); GetImage(174,149,220,165,sc1^);{rocetca} PutImage(174,149,sc1^,xorput);
Size3:=imagesize(250,151,278,172); getmem(sc2,size3); {black cvadro} GetImage(250,151,278,172,sc2^); { PutImage(250,151,sc2^,xorput);} {-----------------------------------} x0:=141;{nachalnoe mesto racetci} y0:=411;{^----------------------} x1:=150;{nachalnoe mesto smeiles} y1:=200;{^----------------------} e12:=1; e13:=1; m:=1; dx:=10; set_handler;{yvkljychaem klavishi} SetColor(14); OutTextXY(250,145,'Press Enter To Start'); ReadLn;{gotovimsja} {\\\\\\} {**===============General jadro=======================**} {**=======For mov smeiles and mov racetcka============**} {\\\\\\} {dvijenie smeiles and racetjki} Repeat x1:=x1+e12;{smeiles} y1:=y1+e13; { delay(40);} {pin-pong algoritm} If x1>640 then begin snd;e12:=-e12 end; If x1<131 then begin snd;e12:=-e12 end;
{princip racetci argoritm} if{nakonec nashol bug >}y1=395{<} then if (x0-x1)<22{kolobok} then if (x1-x0)<45{racetka} then {bilo y1>395} BEGIN snd; e13:=-e13; end; {conec principa racetci} {vivod o neudache} { **********} If y1>395 then begin {<<*tud BUGS*} { ***bil****} {**************************} PutImage(x1,y1,sc^,copyput);{sync;} {<<<<mesto v razrabotke>>>>} if y1>445 then begin dx:=dx-2;{znack menjaem}e13:=-e13; {zvet manjaem} m:=m+15;SetColor(m); OutTextXY(10,100,'-=Lamer Brothers=-'); end; end;
{otscok ot versha} If y1<138 then begin snd;dx:=dx+1;e13:=-e13 end; PutImage(x1,y1,sc^,copyput);{delay(400);}{sync;}{ball-smeiles} PutImage(x0,416,sc1^,copyput);{racetka} If keypressed then key:=readkey {elcli nachata} else key:=#$ff;{255 ne nashata} {x1:=x1+e12; y1:=y1+e13;} If pright=true then {Idem v pravo i streljaem} begin if pspace=true then begin FireR; end; x0:=x0+2; if x0>625 then x0:=625; PutImage(x0,416,sc1^,copyput);{sync;} end; {Idem v levo i strelaem} If pleft=true then Begin if pspace=true then begin FireL; end; x0:=x0-2; if x0<131 then x0:=131; PutImage(x0,416,sc1^,copyput);{sync;} end; Until key=#27; {vihod po ESC}
remove_handler;{vozvrashaem klavu v zad} Freemem(sc1,1000); {svoboda pamjati po spreitu -sc^-} Freemem(sc,1000); Freemem(sc2,1000); { ClearDevice;} LoadBmp('c:firez.bmp',800,600); ReadLn; CloseGraph;{zakriv grafiky} Write('vi nabrali = ',dx, ' ochkov'); ReadLn; if dx>150 then write('-=xorosho igrali=-'); if dx<50 then write('-=ploho igrali=-') else write('-=sredne igrali=-'); ReadLn;
end.
--------------------
|