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] Tuyển thành viên viết bài KIẾM TIỀN trên PhienBanMoi.Com


    Nhằm mục đích phát triển Phienbanmoi.com hơn nữa, có thêm các bài viết thông tin thực sự hữu ích từ những thành viên tích cực. BQT đã quyến định tạo ra cơ hội kiếm tiền từ các bài viết được đăng tải và chia sẻ trên diễn đàn

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: 652


    Đâ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.
     

    Bình Luận Bằng Facebook

Chia sẻ trang này