Viết chương trình tạo 1 game bằng pascal trừ xe tăng, bầu cua, rắn săn mồi, play bird là đc rồi

Viết chương trình tạo 1 game bằng pascal
trừ xe tăng, bầu cua, rắn săn mồi, play bird là đc rồi

0 bình luận về “Viết chương trình tạo 1 game bằng pascal trừ xe tăng, bầu cua, rắn săn mồi, play bird là đc rồi”

  1. Code EggCrt.PAS:

    program EggCrt; {============== Can doc ================}

    {!!! Khong Compile duoc bang Free Pascal !!!} {===========================================}

    uses crt,dos;

    const x1=5;y1=4;x2=77;y2=18; rShift=1;

    lShift=2; Ctrl=4; Alt=8; ScrLock=16;

    NumLock=32; CapsLock=64; Insert=128;

    var EggX,EggY:byte;

    BedX:1..x2-9;

    Mark:byte;

    Lost:Byte;

    c,d:byte;

    procedure writexy(x,y:byte;c:string);

    begin gotoxy(x,y); write(c); end;

    function SpecialKey(c:byte):boolean;

    var regs:registers;

    begin

    Regs.AH:=2; Intr($16,Regs);

    if Regs.AL and c = c then

    SpecialKey:=True

    else SpecialKey:=False;

    end;

    procedure vekhung(x1,y1,x2,y2:word);

    var z,a,b:word;

    begin

    if (x1<>x2) and (y1<>y2) then

    begin a:=wherex; b:=wherey;

    if x1>x2 then begin z:=x1; x1:=x2; x2:=z; end;

    if y1>y2 then

    begin z:=y1; y1:=y2; y2:=z; end;

    gotoxy(x1,y1); write(#201);

    if x2-x1>1 then for z:=1 to x2-x1-1 do write(#205);

    gotoxy(x2,y1); write(#187);

    gotoxy(x1,y2); write(#200);

    if x2-x1>1 then for z:=1 to x2-x1-1 do write(#205);

    gotoxy(x2,y2); write(#188);

    if y2-y1>1 then for z:=1 to y2-y1-1 do begin

    gotoxy(x1,z+y1); write(#186); end;

    if y2-y1>1 then for z:=1 to y2-y1-1 do begin

    gotoxy(x2,z+y1); write(#186); end;

    end;

    gotoxy(a,b);

    end;

    procedure Drawmark;

    begin

    gotoxy(x1-1,y2+4); write(‘Mark: ‘,mark,’/10’);

    gotoxy(x1-1,y2+5); write(‘Lost: ‘,Lost,’/’,mark+Lost);

    end;

    Procedure Delay(ms:word);

    var t: longint; n:real;

    begin n:=ms/1000;

    t := meml[0:$46C];

    repeat until meml[0:$46C] – t > n*18.2;

    end;

    procedure DrawEgg;

    begin textcolor(yellow);

    writexy(Eggx+x1,Eggy div 3 + y1-1,#32);

    writexy(Eggx+x1,Eggy div 3 + y1,#9);

    textcolor(white); end;

    procedure DrawBed;

    begin textcolor(brown);

    writexy(Bedx+x1-2,y2,#32#32#177#177#177#177#177#177#177#177#177#32#32);

    textcolor(white); end;

    procedure init;

    begin randomize;

    vekhung(x1-3,y1-2,x2+2,y2+2);

    vekhung(x1-3,y2+3,x1+15,24); vekhung(x1+18,y2+3,x2+2,24); writexy(x1+20,y2+4,’Dieu khien de trung roi vao o Alt: Tam dung’); writexy(x1+20,y2+5,’Left/Right Shift: di chuyen Ctrl: Di nhanh’); writexy(20,10,’An Alt de tiep tuc…’);

    repeat eggX:=random(60)+3; until specialkey(alt);

    repeat until not specialkey(alt);

    writexy(20,10,’ ‘);

    end;

    BEGIN textmode(co80); textcolor(white); clrscr; c:=30; writexy(c,11,#75#32#32#75#32#73#32#69#69#69#69#32#78#32#32#78); writexy(c,12,#75#32#75#32#32#73#32#69#32#32#32#32#78#78#32#78); writexy(c,13,#75#75#32#32#32#73#32#69#69#69#32#32#78#32#78#78); writexy(c,14,#75#32#75#32#32#73#32#69#32#32#32#32#78#32#32#78); writexy(c,15,#75#32#75#32#32#73#32#69#69#69#69#32#78#32#32#78); writexy(c,16,#45#45#45#45#45#45#45#45#45#45#45#45#45#45#45#45); writexy(c,17,#67#32#79#32#73#32#95#32#49#32#57#32#57#32#55#32); writexy(c,5,#71#97#109#101#32#72#117#110#103#32#84#114#117#110#103); writexy(25,9,#66#97#110#32#113#117#121#101#110#58); writexy(37,9,#107#105#101#110#95#99#111#105#95#49#57#57#55); writexy(12,19,’Phong to cua so < Alt+Enter > de chat luong anh tot nhat’); textcolor(lightgray);

    writexy(c,22,#76#32#79#32#65#32#68#32#73#32#78#32#71);

    textcolor(yellow); gotoxy(c,22); write(#76#32);delay(1000); write(#79#32);delay(1000);

    write(#65#32);delay(1000);

    write(#68#32);delay(1000); write(#73#32);

    delay(1000); write(#78#32);

    delay(1000); write(#71);delay(1000);

    textcolor(white);

    repeat

    clrscr; mark:=0; Lost:=0;

    init;bedx:=20;

    for c:=1 to 10 do begin

    Eggx:=random(60)+3; gotoxy(5,14+3);

    write(‘ ‘);

    for Eggy:=1 to 14*3 do begin

    drawbed;

    drawegg;

    drawmark;

    if specialkey(lshift) and (bedx>=1) then dec(bedx);

    if specialkey(rshift) and (bedx+14<x2) then inc(bedx);

    if specialkey(ctrl or lshift) and (bedx>=1) then dec(bedx);

    if specialkey(ctrl or rshift) and (bedx+14<x2) then inc(bedx);

    if specialkey(Alt) then begin repeat until not specialkey(alt);

    begin

    repeat until not specialkey(alt);

    writexy(20,10,’An Alt de tiep tuc…’);

    repeat until specialkey(alt);

    repeat until not specialkey(alt);

    writexy(20,10,’ ‘);

    drawegg; end;

    if (Eggy=14*3) then

    begin

    if abs(-BedX-4+Eggx)<4 then inc(Mark)

    else inc(Lost);

    writexy(Eggx+4,18,#32);

    end;

    delay(0);

    end;

    end;

    gotoxy(20,7); write(‘So diem dat duoc: ‘,mark);

    gotoxy(20,10); write(‘So trung bi rot: ‘,lost);

    gotoxy(20,13); write(‘An Shift+Alt de tiep tuc, Ctrl+Alt de thoat’);

    repeat until specialKey(lshift+alt)

    or specialkey(ctrl+alt)

    or specialkey(rshift+alt);

    until specialkey(Alt+Ctrl);

    end.

    Bình luận

Viết một bình luận