1. Hãy ủng hộ PhienBanMoi.Com bằng cách LIKE trang FANPAGE , GOOGLE+ dưới mỗi bài viết hoặc chia sẻ website nếu thấy hữu ích. Trân trọng cảm ơn!
  2. [Thông Báo] Thông Báo Tuyển mod cho toàn diễn đàn


    Forum mới lập rất cần sự giúp đỡ của các bạn vậy nên bạn nào có khả năng thì đăng kí tham gia làm mod để quản lí, phát triển diễn đàn nhé!

Demo game PASCAL with gravity

Thảo luận trong 'Pascal, C , C++' bắt đầu bởi tanzeal2000gts, 8 Tháng mười hai 2013.

  1. tanzeal2000gts Member Mới

    1
    0
    1

    Lượt xem: 597


    Đây là ý tưởng game có trọng lực bằng Pascal, các bạn cho ý kiến nha. Vì mình làm random nên có một số map sẽ không thể thắng được, các bạn nhớ nhìn trước rồi hãy chơi kẻo tốn mana

    Direct link

    Còn đây là code cho các bạn ngâm cứu (mình viết hơi sát, hi vọng các bạn đọc được)
    Mã:
    USES crt;
    VAR x,y,i,k,flr_x,flr_y,can_jump:BYTE;
        a:ARRAY[1..80,1..25] OF STRING;
        mov:CHAR;
    BEGIN
        REPEAT
        textcolor(10); writeln; writeln('THIS IS AN EXAMPLE OF THE GAME WITH GRAVITY');
        textcolor(13); write('Press ',#27,' and ',#26,' to move '); textcolor(11); write(#15);
        textcolor(13); write(', X to jump (Press, do not hold it). Reach ');
        textcolor(14); write(#30); textcolor(13); writeln(' to win.');
        write('If you touch '); textcolor(12); write(#173); textcolor(13); write(', you will lose.');
        textcolor(11); x:=10; y:=6; a[x,y]:=#15; gotoxy(x,y); write(#15); textcolor(7);
        REPEAT
        flr_x:=random(80)+1; flr_y:=random(18)+6; i:=i+1; a[flr_x,flr_y]:=#219; gotoxy(flr_x,flr_y); write(#219);
        UNTIL i=100;
        FOR i:=1 TO 80 DO BEGIN a[i,5]:=#219; gotoxy(i,5); write(#219); END;
        a[80,21]:=#30; gotoxy(80,21); textcolor(14); write(#30);
        textcolor(12); FOR i:=1 TO 80 DO BEGIN gotoxy(i,24); write(#173); END;
        REPEAT
        IF keypressed THEN mov:=readkey; a[x,y]:=' '; gotoxy(x,y); write(' ');
        IF mov='x' THEN IF a[x,y+1]=#219 THEN can_jump:=6;
        IF can_jump>0 THEN BEGIN
            can_jump:=can_jump-1; IF a[x,y-1]<>#219 THEN y:=y-1 ELSE can_jump:=0;
        END ELSE IF a[x,y+1]<>#219 THEN y:=y+1;
        IF mov=#77 THEN IF a[x+1,y]<>#219 THEN x:=x+1;
        IF mov=#75 THEN IF a[x-1,y]<>#219 THEN x:=x-1;
        a[x,y]:=#15; gotoxy(x,y); textcolor(11); write(#15); delay(80); mov:=' ';
        UNTIL (a[x+1,y]=#30) OR (a[x,y+1]=#30) OR (a[x-1,y]=#30) OR (a[x,y-1]=#30) OR (y=23);
        window(30,10,50,20);
        IF y<>23 THEN BEGIN textcolor(10); writeln('You WIN!'); END
        ELSE BEGIN textcolor(15); writeln('You LOSE!'); END;
        writeln; textcolor(13); write('Again? (Y/N)');
        REPEAT mov:=readkey; UNTIL (upcase(mov)='Y') OR (upcase(mov)='N');
        IF upcase(mov)='Y' THEN BEGIN
            window(1,1,80,25); clrscr; FOR i:=1 TO 80 DO FOR k:=1 TO 25 DO a[i,k]:=' '; i:=0;
        END;
        UNTIL upcase(mov)='N'
    END.
     

Chia sẻ trang này