Помощь - Поиск - Пользователи - Календарь
Полная версия: Первая игра моей девушки !
Форум «Всё о Паскале» > Pascal, Object Pascal > Написание игр
Clane
Код

Program Game;
Uses crt;
Var m,n,i,j,k,x,y,x1,x2,y1,y2: integer; a: char;
   flag:boolean;t: longint;
PROCEDURE clr;
Begin
 window(1,1,80,25); textbackground(0);clrscr;
End;
PROCEDURE Wait(t: Longint);
Begin
 t:=t*9000;
 While t>0 do
 t:=t-1;
End;
PROCEDURE musik(h:word);
Begin
 Sound(h); Delay(50000);NoSound;
End;
PROCEDURE eat;
Begin
 if flag=false then begin i:=random(x2-x1-1); j:=random(y2-y1-2);end;
 if ((i mod 2)=0) then i:=i+1;if (i=0) or (i=1) then i:=i+4;
 if (j=0) or (j=1) then j:=j+3;
 gotoxy(i,j);Textcolor(4);Write(#3);Textcolor(14);
End;
PROCEDURE Pole;
Begin
 Window(x1,y1,x2,y2);Textbackground(2);Textcolor(15);Clrscr;
 Write(#201);For k:=1 to x2-x1-1 do write(#205);Write(#187);
 For k:=1 to y2-y1-1 do begin gotoxy(1,k+1);write(#186);end;Gotoxy(1,k+1);write(#200);
 For k:=1 to y2-y1-1 do begin gotoxy(x2-x1+1,k+1);write(#186);end;gotoxy(x2-x1+1,k+1);write(#188);
 Gotoxy(2,y2-y1);For k:=1 to x2-x1-1 do write(#205);
 Gotoxy((x2-x1)div 2 -2,1);Textcolor(14);Write(' Game ');
 Gotoxy(x2-x1-4,y2-1);Writeln(' ',n,' ');Textcolor(14);Write('  Esc ');Textcolor(15);
 Write('to exit');Textcolor(14);eat;flag:=true;
End;
PROCEDURE Gameover;
Begin Musik(494);Window(1,1,80,25);Textbackground(0);Textcolor(4);Clrscr;
      GotoXY(36,8);Write('Game over');GotoXY(37,9);Write(n,' balls');readkey;
      Halt;
End;
PROCEDURE dvig80;
Begin While keypressed=false do
      Begin Pole;y:=y+1;Gotoxy(x,y);Write(#2);Gotoxy(14,y2-y1+1);Wait(t);
            if(x=i)and(y=j)then begin flag:=false;n:=n+1;Musik(294);
            if ((n mod 10)=0) and (t>560) then  t:=t-560;end;
            if y=y2-1 then gameover;
      End;
End;
PROCEDURE dvig72;
Begin While keypressed=false do
      Begin Pole;y:=y-1;Gotoxy(x,y);Write(#2);Gotoxy(14,y2-y1+1);Wait(t);
            if(x=i)and(y=j)then begin flag:=false;n:=n+1;Musik(294);
            if ((n mod 10)=0) and (t>560) then t:=t-560;end;
            if y=1 then gameover;
      End;
End;
PROCEDURE dvig75;
Begin While keypressed=false do
      Begin Pole;x:=x-2;Gotoxy(x,y);Write(#2);Gotoxy(14,y2-y1+1);Wait(t);
            if(x=i)and(y=j)then begin flag:=false;n:=n+1;Musik(294);
            if ((n mod 10)=0) and (t>560) then t:=t-560;end;
            if x=1 then gameover
      End;
End;
PROCEDURE dvig77;
Begin While keypressed=false do
      Begin pole;x:=x+2;Gotoxy(x,y);Write(#2);Gotoxy(14,y2-y1+1);Wait(t);
            if(x=i)and(y=j)then begin flag:=false;n:=n+1;Musik(294);
            if ((n mod 10)=0) and (t>560) then t:=t-560;end;
            if x=x2-x1+1 then gameover;
      End;
End;
BEGIN Clr;
n:=0;t:=5600;
i:=24;j:=5;flag:=true;
x1:=15;y1:=1;x2:=65;y2:=25;Pole;
x:=(x2-x1) div 2; y:=(y2-y1) div 2;
Gotoxy(x,y);Write(#2);Gotoxy(14,y2-y1+1);
While true do
Begin a:=readkey;
     case a of
     #80: dvig80;
     #72: dvig72;
     #75: dvig75;
     #77: dvig77;
     #27: exit;
     end;
End;
END.
AlaRic
Блин, умная девушка smile.gif , а она Unreal 2004 не сможет написать?  :)
Ivs
Симпатичная игрулька (для первого раза), но мне не очень нравиться постоянное обновление экрана.  ;)
Clane
Цитата
Блин, умная девушка smile.gif , а она Unreal 2004 не сможет написать?  :)

Может.....  И не только это :D Она вообще у меня самая умная на свете, и я ее очень сильно люблю !! Так что вот так...
AlaRic
Я так и думал!!!  :D
Slam
В догонку:
Код
Program Smile;
Uses Crt;
Var x,y,x1,y1,N,I: integer;
      Ch:Char;
BEGIN
{Hide_Cursor;}
TextBackGround(1);
ClrScr;
Randomize;
N:=0;
GotoXY(25,2);
TextColor(11);
Write('!!!ЊЋ—? ‡‹ЋѓЋ');
TextColor(15);
Write(' "‘ЊЂ‰‹Ђ"!!! ');
GotoXY(32,5);
TextColor(10);
TextBackGround(0);
Write('‘зҐв: ',N*100);
TextColor(14);
 TextBackGround(1);
 GotoXY(30,23);
 Write('“Їа ў«Ґ­ЁҐ:');
GotoXY(28,24);
 Write('‘в५ЄЁ Єгаб®а ');
GotoXY(58,25);
 Write('„«п ўл室  влЄ ©вҐ Esc');
TextColor(10);
TextBackGround(0);
GotoXY(9,9);
 Write('1');
     For I:=1 to 51 do
      Write('Д');
       Write('1');
     For I:=1 to 11 do
      Begin
       GotoXY(9,I+9);
           Write('і                                                   і');
      End;
GotoXY(9,21);
 Write('1');
 For I:=1 to 51 do
     Write('Д');
     Write('1');
     x:=10;
     y:=10;
x1:=random(49)+10;
y1:=random(9)+10;
GotoXY(x1,y1);
TextColor(15);
 Write('1');
Repeat
 If (x=x1) AND (y=y1) Then
     Begin
      GotoXY(43,5);
      TextColor(15);
      Write('+100');
      x1:=random(49)+10;
      y1:=random(9)+10;
      GotoXY(x1,y1);
      TextColor(15);
      Write('1');
      sound(767); delay(3000);
      sound(667); delay(3000);
      sound(567); delay(3000);
      sound(767); delay(3000);
      Nosound;
       N:=N+1;
       GotoXY(27,5);
       TextColor(10);
       Write('‘зҐв: ',N*100);
       GotoXY(43,5);
       TextColor(0);
       Write('+100');
     End;
GotoXY(x,y);
TextColor(4);
Write('1');
Ch:=ReadKey;
GotoXY(x,y);
TextColor(0);
Write('1');
 Case Ch of
     #75: If x>10 then x:=x-1;
     #77: If x<60 then x:=x+1;
     #72: If y>10 then y:=y-1;
     #80: If y<20 then y:=y+1;
 End;
     delay(100);
Until Ch=#27;
ReadKey;
END.
Slam
А вот кстати процедура невидимого курсора (модуль Dos):
Код
Procedure Hide_Cursor;     {ЌҐўЁ¤Ё¬л© Єгаб®а}
Var Regs: Registers;
 begin
     With Regs do
      begin
       Ah:=1; Ch:=$10; Cl:=0; Bh:=0; Intr($10,Regs);
      end;
 end;
fagot
cool   ;D ;D ;D
Gremlin
Побольше бы таких девушек... :o
Clane
Цитата
Побольше бы таких девушек... :o

Ага....
I love Prolog =)
Вы не видели какие игры выделывали наши девушки  на Прологе!!!!Это что-то.
Это у нас экзамен был выпускной (я вот только школу закончил позавчера,можете поздравить)сдача проекта по Прологу.У нас один пацан написал "эволицию"!!!!Вы представляете себе что это!Даже учитель,профессионал,который ничему уже не удивляется, был удивлен!!!
Я бы дал вам сайт нашей группы,что б вы сами все посмотрели,но вам толку от него много не будет,т.к. он на иврите.
GLuk
Дык дал бы адресок-то, есть у меня один кореш (говорящий/пишущий/думающий на этом языке)... и какой версии пролог??
I love Prolog =)
Вот тебе и адресок(извини,что так долго,просто все время забывал сюда заглянуть =) )

www.geocities.com/techem1

На форуме можешь пообщаться с уже бывшими =) учениками этой группы(в том числе и со мной).*Кстати,ник того,кто сделал эволицию - Prometheus*
Гость
Цитата(Slam @ 26.03.2003 19:41) *

В догонку:[code]
     x:=10;
     y:=10;
x1:=random(49)+10;
y1:=random(9)+10;
GotoXY(x1,y1);
TextColor(15);
 Write('1');
Repeat
 If (x=x1) AND (y=y1) Then
     Begin
      GotoXY(43,5);
      TextColor(15);
      Write('+100');
      x1:=random(49)+10;
      y1:=random(9)+10;
      GotoXY(x1,y1);
   
 

как "Злого Смайла" заставить двигаться,покая его не сьел?))))
Shegrou
Точнее как сделать так,что бы он по заданому полю бегал,тогда будет сложнее поймать его,а значит уже интересней будет)))
Stokly
Можешь написать на Паскале игру Lines wink.gif
Shegrou
Цитата(Stokly @ 2.04.2006 13:49) *

Можешь написать на Паскале игру Lines wink.gif

Написать возможно,но мне нужно именно эту игру...!!!кто нить поможет?))) give_rose.gif give_rose.gif give_rose.gif
Shegrou
Ну дак что,ожет ктонить поможет))???оч прошу...
Кот
Цитата(Shegrou @ 4.04.2006 23:26) *

Ну дак что,ожет ктонить поможет))???оч прошу...

к координатам 2смайла пдключи рандом)))и задержку...вроде так...
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.