Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Написание игр _ Первая игра моей девушки !

Автор: Clane 26.03.2003 15:50

Код

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 26.03.2003 23:22

Блин, умная девушка smile.gif , а она Unreal 2004 не сможет написать?  :)

Автор: Ivs 26.03.2003 23:24

Симпатичная игрулька (для первого раза), но мне не очень нравиться постоянное обновление экрана.  ;)

Автор: Clane 26.03.2003 23:28

Цитата
Блин, умная девушка smile.gif , а она Unreal 2004 не сможет написать?  :)

Может.....  И не только это :D Она вообще у меня самая умная на свете, и я ее очень сильно люблю !! Так что вот так...

Автор: AlaRic 26.03.2003 23:29

Я так и думал!!!  :D

Автор: Slam 26.03.2003 23:41

В догонку:

Код
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 26.03.2003 23:45

А вот кстати процедура невидимого курсора (модуль 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 30.03.2003 23:21

cool   ;D ;D ;D

Автор: Gremlin 22.06.2003 10:12

Побольше бы таких девушек... :o

Автор: Clane 22.06.2003 13:19

Цитата
Побольше бы таких девушек... :o

Ага....

Автор: I love Prolog =) 27.06.2003 21:07

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

Автор: GLuk 27.06.2003 21:14

Дык дал бы адресок-то, есть у меня один кореш (говорящий/пишущий/думающий на этом языке)... и какой версии пролог??

Автор: I love Prolog =) 16.08.2003 19:15

Вот тебе и адресок(извини,что так долго,просто все время забывал сюда заглянуть =) )

www.geocities.com/techem1

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

Автор: Гость 1.04.2006 15:12

Цитата(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 1.04.2006 16:20

Точнее как сделать так,что бы он по заданому полю бегал,тогда будет сложнее поймать его,а значит уже интересней будет)))

Автор: Stokly 2.04.2006 17:49

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

Автор: Shegrou 3.04.2006 2:03

Цитата(Stokly @ 2.04.2006 13:49) *

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

Написать возможно,но мне нужно именно эту игру...!!!кто нить поможет?))) give_rose.gif give_rose.gif give_rose.gif

Автор: Shegrou 5.04.2006 2:26

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

Автор: Кот 8.04.2006 0:45

Цитата(Shegrou @ 4.04.2006 23:26) *

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

к координатам 2смайла пдключи рандом)))и задержку...вроде так...