![]() |
![]() |
Kio |
![]() ![]()
Сообщение
#1
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 11 Репутация: ![]() ![]() ![]() |
Здравствуйте!
Помогите пожалуйста написать игру или найти исходник для нее! Я не знаю как она действительно называется, но суть такова : пользователь управляет шариком(вправо-влво),небольшие пластины движутся вверх; шарик должен перемещаться по этим пластинам так, чтобы не упасть в "бездну" и не дойти до верней точки игрового поля. Спасибо за внимание! |
![]() ![]() |
GLuk |
![]()
Сообщение
#2
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 775 Пол: Мужской Репутация: ![]() ![]() ![]() |
Что-то меня зацепило... ;) Взялся без особого интереса, но...
Сделано все плохо, но стандартными паскалевскими средствами! Никакого асма. + до кучи подсчет дырок. Только без пинков по поводу шлейфа около круга, это не от кривых рук, а для красотищи.. ![]() И еще, товарищи, давайте обойдемся без тупых вопросов, графика не инициализируется и все такое... <_< Код Uses Graph,Crt; Const LineCount = 10; HoleSize = 30; Step = 01; LineC = White; R = 10; Pause = 4500; Var i,j:Word; Gd,Gm:Integer; S:String; LineH:Word; A:array[1..LineCount,1..3] of Word; Process,MustMove:Boolean; X,Y:Word; {Љ®®а¤Ё вл и аЁЄ } C:Char; HC:LongInt; Procedure OutLine(N:Word); begin If (A[N,1]>0) and (A[N,1]<641) then begin Line(1,A[N,1],A[N,2],A[N,1]); Line(A[N,2]+HoleSize,A[N,1],A[N,3],A[N,1]); Line(A[N,3]+HoleSize,A[N,1],640,A[N,1]); end; end; Begin Randomize; Gd:=Detect; InitGraph(Gd,Gm,''); {‚ᥠЁ§ з «м® ®ЇвЁ¬Ё§Ёа®ў ® Ї®¤ а §аҐиҐЁҐ 640е480} LineH:=640 DIV (LineCount+5); For i:=1 to LineCount do begin A[i,1]:=i*LineH; A[i,2]:=Random(320)+10; A[i,3]:=Random(200)+320; OutLine(i); end; Y:=LineCount; X:=((A[i,3]-A[i,2]+HoleSize) DIV 2) + HoleSize + A[i,2]; Circle(X,A[Y,1]-R,R); Process:=True; MustMove:=False; {j:=1; {‘зҐвзЁЄ ®в®бЁвҐ«м®Ј® ᬥ饨п} ReadLn; HC:=0; While Process do begin If KeyPressed then begin C:=ReadKey; Case C of #122:If X<>1 then Dec(X); #120:If X<>640 then Inc(X); #27:Process:=False; end; If ((A[Y,2]+HoleSize DIV 2)=X) or ((A[Y,3]+HoleSize DIV 2)=X) then begin Inc(HC); Inc(Y); If Y=LineCount+1 then Process:=False; end; end; SetColor(Black); Circle(X,A[Y,1]-R,R); For i:=1 to LineCount do begin {‘вЁа Ґ¬ бв ஥} Line(1,A[i,1],640,A[i,1]); Dec(A[i,1],Step); end; {Џа®и« ЇҐаў п Ё ўв®а п} If (A[1,1]=1) then MustMove:=True; {Check range} SetColor(LineC); If MustMove then {Move array} begin MustMove:=False; For i:=1 to LineCount-1 do begin A[i,1]:=A[i+1,1]; A[i,2]:=A[i+1,2]; A[i,3]:=A[i+1,3]; end; Dec(Y); If Y=0 then Process:=False; {Last line} i:=LineCount; A[i,1]:=i*LineH; A[i,2]:=Random(320)+10; A[i,3]:=Random(200)+320; end; For i:=1 to LineCount do begin OutLine(i); end; Circle(X,A[Y,1]-R,R); Delay(Pause); end; ClearDevice; SetTextStyle(TriplexFont,0,7); SetColor(Red); Str(HC,S); OutText('CRASH!!! BABAX!!!'); If HC=0 then OutTextXY(10,200,'XEPOBO!!!') else OutTextXY(10,200,S+' HOLES!'); ReadLn; CloseGraph; end. |
![]() ![]() |
![]() |
Текстовая версия | 21.06.2025 23:27 |