Trang chủ Tin Học Lớp 8 viết chương trình làm trò chơi plappy bird câu hỏi...

viết chương trình làm trò chơi plappy bird câu hỏi 1532349 - hoctapsgk.com

Câu hỏi :

viết chương trình làm trò chơi plappy bird

Lời giải 1 :

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.

Thảo luận

-- ???

Lời giải 2 :

uses crt,KEY;
var h1,h2,h3,h4,banh1,banh2,can1,can2,chay1,chay2,i : integer;
diem,mang,gach1,gach2,phim,chon,dokho,muiten:integer;
chondokho : integer;
label thoat;
procedure banh;
begin
CLRSCR;
for i:=20 to 62 do begin
gotoxy(i,7);
write('__');
end;
for i:=8 to 20 do begin
gotoxy(20,i);
write('|');
end;
for i:=20 to 62 do begin
gotoxy(i,20);
write('__'); {IN giao dien game}
end;
for i:=8 to 20 do begin
gotoxy(62,i);
write('|');
end;
gotoxy(30,8);
Write('BOUNCING BALL I');
GOTOXY(25,11);
write('CHAO MUNG DEN VOI GAME BOUNCING BALL');
GOTOXY(25,13);
WRITE('DUNG PHIM "<-" DE DI CHUYEN SANG TRAI');
GOTOXY(25,14);
WRITE('DUNG PHIM "->" DE DI CHUYEN SANG PHAI');
gotoxy(25,15);
write('DUNG PHIM "ESC" DE THOAT [ QUIT ] ');
GOTOXY(25,17);
WRITE('NHAN ENTER DE BAT DAU CHOI !');
GOTOXY(25,19);
WRITE('--> ENTER !');
GOTOXY(25,23);
write('WRITE BY HACK258147');

READLN;
clrscr;
diem:=0;
banh1:=40 ; banh2:=18; {toa do cua banh}
gotoxy(banh1,banh2);
write('o'); {in banh}
{ Phan Choi game }
h2:=7;
for h1:=3 to 19 do begin
gotoxy(h2,h1);
write('//');
end;
h4:=67;
for h3:=3 to 19 do begin
gotoxy(h4,h3);
write('//');
end;
for h2:=7 to 67 do begin
gotoxy(h2,2);
write('//');
end;
for h2:=7 to 67 do begin
gotoxy(h2,20);
write('//');
end;
gotoxy(70,3);
write('BOUNCING');
GOTOXY(70,4);
WRITE('BALL I');
FOR i:=5 to 20 do begin
gotoxy(70,i);
write('/////////'); end;
{phan tao gach}
for i:=12 to 62 do begin
gotoxy(i,3);
write('');
end;
for i:=12 to 62 do begin
gotoxy(i,4);
write('');
end;
for i:=12 to 62 do begin
gotoxy(i,5);
write('');
end;
for i:=12 to 62 do begin
gotoxy(i,6);
write('');
end;

end;
procedure chaybanh;
label top,thoat,tiep,tiep2,chinhdokho,dieukhien;
begin
can1:=39;
can2:=19; {39,19}
gotoxy(30,24);
write('ESC : Thoat game');
gotoxy(50,24);
write('Write By hack258147');
gotoxy(50,25);
write('diendantoanhoc.net');

mang:=3;
top:
chay1:=0;
chay2:=-1;
gotoxy(5,25);
write('Mang : ',mang);
gotoxy(banh1,banh2);
write(' ');
banh1:=40;
banh2:=18;
gotoxy(5,24);
write('Diem : ',diem);
if chondokho=enterkey then goto tiep;
muiten:=13;
chinhdokho:
gotoxy(10,12);
write('Chon do kho');
gotoxy(14,13);
write('De');
gotoxy(14,14);
write('Binh thuong');
gotoxy(14,15);
write('Kho');
gotoxy(10,muiten);
write('-->');
dokho:=getkey;
keypressed;
repeat

if (dokho=upkey) and (muiten=13) then goto chinhdokho;
if (dokho=upkey) then begin
gotoxy(10,muiten);
write(' ');
muiten:=muiten-1;
gotoxy(10,muiten);
write('-->');
end;
if (dokho=dnkey) and (muiten=15) then goto chinhdokho;
if (dokho=dnkey) then begin
gotoxy(10,muiten);
write(' ');
muiten:=muiten+1;
gotoxy(10,muiten);write('-->'); end;
chondokho:=getkey;
if chondokho=enterkey then begin
gotoxy(10,12);
write(' ');
gotoxy(14,13);
write(' ');
gotoxy(14,14);
write(' ');
gotoxy(14,15);
write(' ');
gotoxy(10,muiten);
write(' ');
end;
until (chondokho=enterkey);
tiep:
repeat
if muiten=13 then delay(50000);
if muiten=14 then delay(40000);
if muiten=15 then delay(30000);
gotoxy(banh1,banh2); {CT chay Banh}
write(' ');
banh1:=banh1+chay1;
banh2:=banh2+chay2;
gotoxy(banh1,banh2);
write('o');
gotoxy(can1,can2);
write('MMMM');

if keypressed then begin
dieukhien:
phim:=Getkey;

tiep2: {39:19 toa do cua can}
if phim=leftkey then begin
gotoxy(can1,can2);
write(' '); {dieu khien can qua trai}
can1:=can1-3;
if (can1=9) and (can2=19) then can1:=can1+3;
gotoxy(can1,can2);
write('MMMM');
end;

if phim=rightkey then begin
gotoxy(can1,can2);
write(' '); {dieu khien can qua phai}
can1:=can1+3;
if (can1=66) and (can2=19) then can1:=can1-3;
gotoxy(can1,can2);
write('MMMM');
end;
end;

if phim=inskey then begin
mang:=9999;
gotoxy(5,25);
write(' '); {hack mang}
gotoxy(5,25);
write('Mang : ',mang);
end;
if phim=homekey then begin
diem:=9999;
gotoxy(5,24);
write(' '); {hack diem}
gotoxy(5,24);
write('Diem : ',diem);
end;

if (can1=banh1) and (can2=banh2) then begin
diem:=diem+1;
gotoxy(5,24);
write(' ');
gotoxy(5,24);
write('Diem : ',diem);
gotoxy(can1,can2);
write('M');
chay1:=random(3);
if chay1 = 1 then chay1:=+1;
if chay1 = 2 then chay1:=-1;
if chay1 = 3 then chay1:=+1;
if chay1 = 0 then chay1:=-1; {banh trung can_1}
chay2:=-1;
gotoxy(can1,can2);
write('M');
end;

if (can1+1=banh1) and (can2=banh2) then begin
diem:=diem+1;
gotoxy(5,24);
write(' ');
gotoxy(5,24);
write('Diem : ',diem);
gotoxy(can1+1,can2);
write('M');
chay1:=random(3);
if chay1 = 1 then chay1:=+1;
if chay1 = 2 then chay1:=-1;
if chay1 = 3 then chay1:=+1;
if chay1 = 0 then chay1:=-1;
{banh trung can 2}
chay2:=-1;
gotoxy(can1+1,can2);
write('M');
end;
if (can1+2=banh1) and (can2=banh2) then begin
diem:=diem+1;
gotoxy(5,24);
write(' ');
gotoxy(5,24);
write('Diem : ',diem);
gotoxy(can1,can2);
write('M');

chay1:=random(3);
if chay1 = 1 then chay1:=+1;
if chay1 = 2 then chay1:=-1;
if chay1 = 3 then chay1:=+1;
if chay1 = 0 then chay1:=-1; {banh trung can 3}
chay2:=-1;
gotoxy(can1+2,can2);
write('M');
end;
if (can1+3=banh1) and (can2=banh2) then begin
diem:=diem+1;
gotoxy(5,24);
write(' ');
gotoxy(5,24);
write('Diem : ',diem);
gotoxy(can1+3,can2);
write('M');
chay1:=random(3);
if chay1 = 1 then chay1:=+1;
if chay1 = 2 then chay1:=-1;
if chay1 = 3 then chay1:=+1;
if chay1 = 0 then chay1:=-1;

{banh trung can 4}
chay2:=-1;
gotoxy(can1+3,can2);
write('M');
end;
{ 9:2/ toa do ban dau cua banh }
for i:=8 to 66 do begin

if (banh1=i) and (banh2=3) then begin {neu banh dung tuong tren}
chay1:=random(3) ;
if chay1 = 1 then chay1:=+1;
if chay1 = 2 then chay1:=-1;
if chay1 = 3 then chay1:=+1;
if chay1 = 0 then chay1:=-1;
chay2:=+1; end; {66:3}
end;

for i:=4 to 20 do begin

if (banh2=i) and (banh1=10) then begin {neu banh dung tuong trai}
chay1:=+1;
randomize;
chay2:=random(3);
if chay2 = 1 then chay2:=+1;
if chay2 = 2 then chay2:=-1;
if chay2 = 3 then chay2:=+1;
if chay2 = 0 then chay2:=-1; end;
end; {9:3:19}
for i:=4 to 19 do begin

if (banh2=i) and (banh1=66) then begin
chay1:=-1;
randomize;
chay2:=random(3); {neu banh dung tuong phai}
if chay2 = 1 then chay2:=+1;
if chay2 = 2 then chay2:=-1;
if chay2 = 3 then chay2:=+1;
if chay2 = 0 then chay2:=-1;end;
end;
for i:=9 to 66 do begin
if (banh1<>can1) and (banh1<>can1+1) and (banh1<>can1+2) and (banh1<>can1+3) then begin
if (banh2=19) and (banh1=i) then begin
delay(60000);
delay(60000);
mang:=mang-1; {neu banh dung day}
gotoxy(10,12);
write('Ban bi mat mot mang/ bam ENTER de choi tiep ');
gotoxy(10,13);
write('Nhan ESC de thoat ');
chon:=Getkey;
gotoxy(10,12);
write(' ');
gotoxy(10,13);
write(' ');
gotoxy(5,25);
write(' ');
gotoxy(5,25);
write('Mang : ',mang);
gotoxy(5,24);
write(' ');
gotoxy(5,24);
write('Diem : ',diem);
if chon=enterkey then goto top;
if chon=Esckey then exit;
if chon=rightkey then goto top;
if chon=leftkey then goto top;
if chon=upkey then goto top;
if chon=dnkey then goto top;
end;
end;
end;



if mang = -1 then begin
gotoxy(10,12);
write('GAME OVER/Nhan Esc de thoat , nhan Space de choi tiep');
gotoxy(10,13);
write('Diem cua ban : ',diem);
chon:=getkey;
gotoxy(10,12);
write(' ');
gotoxy(10,13);
write(' ');
if chon=esckey then exit;
if chon=spacekey then begin
mang:=3;
diem:=0;
gotoxy(5,25);
write(' '); {diem :24,5 / mang:25,5}
gotoxy(5,25);
write('Mang : ',mang);
gotoxy(5,24);
write('Diem : ',diem);
goto top;
end;
end;
until (phim=esckey);
end;

begin
banh;
can1:=39; { CT chinh }
can2:=19;
gotoxy(can1,can2); {in can}
write('MMMM');
chaybanh;

clrscr;
gotoxy(20,5);
write('GAME OVER /nhan Enter de thoat');
gotoxy(20,6);
write('Diem cua ban : ',diem);
readln;
end.

Bạn có biết?

Tin học, tiếng Anh: informatics, tiếng Pháp: informatique, là một ngành khoa học chuyên nghiên cứu quá trình tự động hóa việc tổ chức, lưu trữ, xử lý và truyền dẫn thông tin của một hệ thống máy tính cụ thể hoặc trừu tượng (ảo). Với cách hiểu hiện nay, tin học bao hàm tất cả các nghiên cứu và kỹ thuật có liên quan đến việc mô phỏng, biến đổi và tái tạo thông tin.

Nguồn : Wikipedia - Bách khoa toàn thư

Tâm sự 8

Lớp 8 - Năm thứ ba ở cấp trung học cơ sở, học tập bắt đầu nặng dần, sang năm lại là năm cuối cấp áp lực lớn dần nhưng các em vẫn phải chú ý sức khỏe nhé!

Nguồn : ADMIN :))

Liên hệ hợp tác hoặc quảng cáo: gmail

Điều khoản dịch vụ

Copyright © 2021 HOCTAPSGK