Версия для печати темы
Форум «Всё о Паскале» _ Написание игр _ Первая игра моей девушки !
Автор: 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
Блин, умная девушка , а она Unreal 2004 не сможет написать? :)
Автор: Ivs 26.03.2003 23:24
Симпатичная игрулька (для первого раза), но мне не очень нравиться постоянное обновление экрана. ;)
Автор: Clane 26.03.2003 23:28
Цитата
Блин, умная девушка
, а она 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
Автор: Shegrou 3.04.2006 2:03
Цитата(Stokly @ 2.04.2006 13:49)
Можешь написать на Паскале игру Lines
Написать возможно,но мне нужно именно эту игру...!!!кто нить поможет?)))
Автор: Shegrou 5.04.2006 2:26
Ну дак что,ожет ктонить поможет))???оч прошу...
Автор: Кот 8.04.2006 0:45
Цитата(Shegrou @ 4.04.2006 23:26)
Ну дак что,ожет ктонить поможет))???оч прошу...
к координатам 2смайла пдключи рандом)))и задержку...вроде так...