1. Kết quả Event Ghost 2016


    Dưới đây là danh sách những thành viên đoạt giải thưởng trong Event Ghost 2016

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

    tanzeal2000gts Member Mới

    1
    0
    1
    Đâ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