Đây là code rất đơn giản cho trò chơi giống flappy bird do mình không sử dụng unit graph nên nhìn hơi xâu .
PROGRAM Flappy;
USES CRT;
VAR TREN,DUOI,L,tangXDT,tangYDT,tangXNV : BYTE ;
XDT,YDT,XNV,F ,DIEM0,DIEM ,TGROI : INTEGER;
TEN :STRING;
_FILE :TEXT;
procedure TAOCNV(cot,tren,duoi : integer ) ; {---HAM NAY DE TAO CHUONG NGAI VAT.--- }
var i: integer;
begin
for i := 1 to tren do
begin
gotoxy(cot,i) ;
write(#25) ;
end;
for i:= 21-duoi to 21 do
begin
gotoxy(cot,i) ;
write(#24);
end;
end;
procedure VIETDT(x,y: integer); {----HAM NAY DUNG DE TAO DOI TUONG.2 BIEN LA TOA DO CUA DOI TUONG-----}
begin
f := 20 ;
gotoxy(x,y);
write(#2);
end;
BEGIN
CLRSCR;
RANDOMIZE;
TEXTBACKGROUND(25);
TEXTCOLOR(5);
XNV := 30 ;{DAY LA TOA DO x CUA NGAI VAT , NGAI VAT CHI CAN MOI X .}
{---XDT VA YDT LA CAC TOA DO CUA DOI TUONG.---}
XDT := 20;
YDT := 10;
GOTOXY(25,15);
WRITELN('AN T DE DI CHUYEN NHAN VAT ...') ;
DELAY(2000) ;
VIETDT(XDT,YDT);
{-------------TRO CHOI .. START WRITE------------------}
DIEM := 0;
TREN := 4 + RANDOM(6);
DUOI := 4 + RANDOM(6) ;
L := 0 ;
tangXDT := 1; tangYDT := 2;{-----XDT = CONST , T/M XDT PHAI CO THE BANG XNV. }
tangXNV := 8; TGROI := 120;
WHILE L = 0 DO
BEGIN
{-----TAO CHUONG NGAI VAT-----}
{----TREN VA DUOI LA DO DAI CUA CAC COT NGAI VAT O TREN VA DUOI.}
{TANG MUC DO KHO :}
IF DIEM = 12 THEN BEGIN TGROI := 85; tangXNV := 6; {tangYDT := 2 ;} END;
IF DIEM = 25 THEN BEGIN TGROI := 70; {tangYDT := 2 ;} tangXNV := 4; END;
TAOCNV(XNV,TREN,DUOI);
{-------TAO DOI TUONG --------}
{-- Luc chua co kich thich--- }
WHILE NOT KEYPRESSED DO
BEGIN
DELAY(TGROI);
CLRSCR;
TAOCNV(XNV,TREN,DUOI);
YDT := YDT +1 ;
VIETDT(XDT,YDT) ;
IF (YDT >= 21) OR (YDT = 1) THEN
BEGIN
GOTOXY(25,15) ;
WRITE('GAMEOVER') ;
DELAY(1500);
L := 1;
BREAK;
END ;
END;
IF L = 1 THEN BREAK ;
{-- Luc da co kich thich--- }
IF UPCASE(READKEY) = 'T' THEN
BEGIN
CLRSCR;
XDT := XDT + tangXDT ;
YDT := YDT - tangYDT ;
TAOCNV(XNV,TREN,DUOI);
VIETDT(XDT,YDT);
END;
{----KET THUC PHAN CHINH----/}
{--- XU LY------}
IF (YDT >= 21) OR (YDT = 1) THEN
BEGIN
GOTOXY(25,15) ;
WRITE('GAMEOVER') ;
DELAY(1500);
L := 1;
END ;
IF (XDT = XNV) THEN
BEGIN
IF (YDT <= TREN+1) OR (YDT >= (21 - DUOI)) THEN
BEGIN
GOTOXY(25,15) ;
WRITE('GAMEOVER') ;
DELAY(1500);
L := 1;
END
ELSE
BEGIN
SOUND(25);
SOUND(125);
DIEM:= DIEM +1 ;
XNV := XNV + tangXNV ;
TREN := 5 + RANDOM(4);
DUOI := 5 + RANDOM(5) ;
END;
END;
{--- DOI TUONG DA DI HET XDT > 74 >>> QUA MAN HINH ------}
IF XDT > 74 THEN
BEGIN
CLRSCR;
XDT := 5 ;
XNV := 10;
END;
END;
CLRSCR;
GOTOXY(25,15);
WRITE('DIEM CUA BAN LA: ',DIEM ,' DIEM . ');
GOTOXY(1,1);
{CLRSCR;
GOTOXY(25,15);
WRITE('DIEM CUA BAN LA: ',DIEM);
{---- TAO FILE VA KIEM TRA FILE LUU KET QUA . ----}
DIEM0 := 0;
ASSIGN(_FILE,'D:\TUAN_FLAPPY');
{$I-} {T?t vi?c ki?m tra Vào/Ra}
RESET (_FILE) ;READLN;
{$I+}; {M? vi?c ki?m tra Vào/Ra}
IF IOResult <> 0 THEN {BI LOI >> FILE KHONG TON TAI.}
BEGIN
REWRITE(_FILE ) ;
WRITELN(_FILE,0);
WRITELN(_FILE,'NGUYEN DINH TUAN');
END
ELSE
BEGIN {BEGIN OF ELSE}
IF NOT EOF(_FILE) THEN
BEGIN
READLN(_FILE,DIEM0);
READLN(_FILE,TEN );
END;
IF DIEM > DIEM0 THEN
BEGIN
GOTOXY(25,16);
WRITE('THANH TICH MOI: ',DIEM);
GOTOXY(25,17);
WRITE('THANH TICH CU LA: ',DIEM0,' THUOC VE BAN ',TEN);
ASSIGN(_FILE,'D:\TUAN_FALPPY');
REWRITE(_FILE);
CLRSCR;
GOTOXY(5,1);
WRITE('TEN CUA BAN LA : ');
READLN(TEN);
WRITELN(_FILE,DIEM);
WRITELN(_FILE,TEN);
END
ELSE
BEGIN
GOTOXY(25,17);
WRITE('THANH TICH CAO NHAT LA: ',DIEM0,' THUOC VE BAN ',TEN);
END;
DELAY(2000);
END; {END OF ELSE}
DELAY(3000);}
READLN;
END .
PROGRAM Flappy;
USES CRT;
VAR TREN,DUOI,L,tangXDT,tangYDT,tangXNV : BYTE ;
XDT,YDT,XNV,F ,DIEM0,DIEM ,TGROI : INTEGER;
TEN :STRING;
_FILE :TEXT;
procedure TAOCNV(cot,tren,duoi : integer ) ; {---HAM NAY DE TAO CHUONG NGAI VAT.--- }
var i: integer;
begin
for i := 1 to tren do
begin
gotoxy(cot,i) ;
write(#25) ;
end;
for i:= 21-duoi to 21 do
begin
gotoxy(cot,i) ;
write(#24);
end;
end;
procedure VIETDT(x,y: integer); {----HAM NAY DUNG DE TAO DOI TUONG.2 BIEN LA TOA DO CUA DOI TUONG-----}
begin
f := 20 ;
gotoxy(x,y);
write(#2);
end;
BEGIN
CLRSCR;
RANDOMIZE;
TEXTBACKGROUND(25);
TEXTCOLOR(5);
XNV := 30 ;{DAY LA TOA DO x CUA NGAI VAT , NGAI VAT CHI CAN MOI X .}
{---XDT VA YDT LA CAC TOA DO CUA DOI TUONG.---}
XDT := 20;
YDT := 10;
GOTOXY(25,15);
WRITELN('AN T DE DI CHUYEN NHAN VAT ...') ;
DELAY(2000) ;
VIETDT(XDT,YDT);
{-------------TRO CHOI .. START WRITE------------------}
DIEM := 0;
TREN := 4 + RANDOM(6);
DUOI := 4 + RANDOM(6) ;
L := 0 ;
tangXDT := 1; tangYDT := 2;{-----XDT = CONST , T/M XDT PHAI CO THE BANG XNV. }
tangXNV := 8; TGROI := 120;
WHILE L = 0 DO
BEGIN
{-----TAO CHUONG NGAI VAT-----}
{----TREN VA DUOI LA DO DAI CUA CAC COT NGAI VAT O TREN VA DUOI.}
{TANG MUC DO KHO :}
IF DIEM = 12 THEN BEGIN TGROI := 85; tangXNV := 6; {tangYDT := 2 ;} END;
IF DIEM = 25 THEN BEGIN TGROI := 70; {tangYDT := 2 ;} tangXNV := 4; END;
TAOCNV(XNV,TREN,DUOI);
{-------TAO DOI TUONG --------}
{-- Luc chua co kich thich--- }
WHILE NOT KEYPRESSED DO
BEGIN
DELAY(TGROI);
CLRSCR;
TAOCNV(XNV,TREN,DUOI);
YDT := YDT +1 ;
VIETDT(XDT,YDT) ;
IF (YDT >= 21) OR (YDT = 1) THEN
BEGIN
GOTOXY(25,15) ;
WRITE('GAMEOVER') ;
DELAY(1500);
L := 1;
BREAK;
END ;
END;
IF L = 1 THEN BREAK ;
{-- Luc da co kich thich--- }
IF UPCASE(READKEY) = 'T' THEN
BEGIN
CLRSCR;
XDT := XDT + tangXDT ;
YDT := YDT - tangYDT ;
TAOCNV(XNV,TREN,DUOI);
VIETDT(XDT,YDT);
END;
{----KET THUC PHAN CHINH----/}
{--- XU LY------}
IF (YDT >= 21) OR (YDT = 1) THEN
BEGIN
GOTOXY(25,15) ;
WRITE('GAMEOVER') ;
DELAY(1500);
L := 1;
END ;
IF (XDT = XNV) THEN
BEGIN
IF (YDT <= TREN+1) OR (YDT >= (21 - DUOI)) THEN
BEGIN
GOTOXY(25,15) ;
WRITE('GAMEOVER') ;
DELAY(1500);
L := 1;
END
ELSE
BEGIN
SOUND(25);
SOUND(125);
DIEM:= DIEM +1 ;
XNV := XNV + tangXNV ;
TREN := 5 + RANDOM(4);
DUOI := 5 + RANDOM(5) ;
END;
END;
{--- DOI TUONG DA DI HET XDT > 74 >>> QUA MAN HINH ------}
IF XDT > 74 THEN
BEGIN
CLRSCR;
XDT := 5 ;
XNV := 10;
END;
END;
CLRSCR;
GOTOXY(25,15);
WRITE('DIEM CUA BAN LA: ',DIEM ,' DIEM . ');
GOTOXY(1,1);
{CLRSCR;
GOTOXY(25,15);
WRITE('DIEM CUA BAN LA: ',DIEM);
{---- TAO FILE VA KIEM TRA FILE LUU KET QUA . ----}
DIEM0 := 0;
ASSIGN(_FILE,'D:\TUAN_FLAPPY');
{$I-} {T?t vi?c ki?m tra Vào/Ra}
RESET (_FILE) ;READLN;
{$I+}; {M? vi?c ki?m tra Vào/Ra}
IF IOResult <> 0 THEN {BI LOI >> FILE KHONG TON TAI.}
BEGIN
REWRITE(_FILE ) ;
WRITELN(_FILE,0);
WRITELN(_FILE,'NGUYEN DINH TUAN');
END
ELSE
BEGIN {BEGIN OF ELSE}
IF NOT EOF(_FILE) THEN
BEGIN
READLN(_FILE,DIEM0);
READLN(_FILE,TEN );
END;
IF DIEM > DIEM0 THEN
BEGIN
GOTOXY(25,16);
WRITE('THANH TICH MOI: ',DIEM);
GOTOXY(25,17);
WRITE('THANH TICH CU LA: ',DIEM0,' THUOC VE BAN ',TEN);
ASSIGN(_FILE,'D:\TUAN_FALPPY');
REWRITE(_FILE);
CLRSCR;
GOTOXY(5,1);
WRITE('TEN CUA BAN LA : ');
READLN(TEN);
WRITELN(_FILE,DIEM);
WRITELN(_FILE,TEN);
END
ELSE
BEGIN
GOTOXY(25,17);
WRITE('THANH TICH CAO NHAT LA: ',DIEM0,' THUOC VE BAN ',TEN);
END;
DELAY(2000);
END; {END OF ELSE}
DELAY(3000);}
READLN;
END .
ban gioi day
Trả lờiXóaMình còn có một vài game viết bằng c++ trên console đơn giản như caro :) mong là giúp ích cho các bạn :)
Xóabạn ơi sao nó cứ ghi là unexpected the end of file.
Xóaso write the 'end.' code at the bottom
Xóauses crt;
Xóavar key : char;
x,y,i,j,k,diem,tocdo : integer;
begin
textbackground(3);
clrscr;
randomize;
x:=1;
y:=1;
diem:=0;
j:=10;
k:=10;
key := chr(100);
tocdo := 60;
while i <> 1 do
begin
textcolor(2);
gotoxy(x,y);
write('X');
if keypressed then key := readkey;
if (key = chr(97)) or (key = chr(65)) then begin x:=x-1; {phim a} sound(131);delay(20);nosound;end;
if (key = chr(100)) or (key = chr(68)) then begin x:=x+1; {phim d} sound(131);delay(20);nosound;end;
if (key = chr(115)) or (key = chr(83)) then begin y:=y+1; {phim s} sound(131);delay(20);nosound;end;
if (key = chr(119)) or (key = chr(87)) then begin y:=y-1; {phim w} sound(131);delay(20);nosound;end;
textcolor(14 + blink);
gotoxy(j,k);
write('*');
if (x = j) and (y = k) then
begin
diem:=diem + 1;
j := random(39);
k := random(24);
if j<0 then j:= 79+j;
if k<0 then k:= 25+k;
tocdo := tocdo – 10;
end;
gotoxy(69,3);
write('diem : ', diem);
delay(tocdo);
if (x = 0) or (x = 80) or (y = 0) or (y = 25) then i:=1;
if diem = 6 then break;
clrscr;
end;
if i=1 then
begin
gotoxy(40,13);
write('ban thua roi ');
write('diem cua ban la:',diem);
end;
if diem = 6 then
begin
gotoxy(40,13);
write('thang roi ');
write('diem cua ban la:',diem);
end;
readln;
end.
tại sao nó lại bảo là opsss! Nothing to compile
XóaGiỏi đấy!
Trả lờiXóacảm ơn bạn
Xóabạn ơi, có cách nào để copy từ notepad để vào đc free pascal chứ gõ lâu lắm
Xóako biết
Xóamuốn paste
Xóabước 1:nhấn edit
Bước 2:paste from windows
sao mình không chạy được bạn? Lỗi 5 syntax error
Trả lờiXóaxóa dấu } trước con trỏ đi bạn
Xóadấu { này trong passcal ký hiệu là (*
Xóabạn ơi sao máy mình lúc chạy chương trình xong nó bị lỗi ghi là " Error 200: Division by zero " là sao v bạn ???
Trả lờiXóalỗi chia cho 0 đấy
Xóa
Xóacai nay het loi r ne PROGRAM Flappy;
USES CRT;
VAR TREN,DUOI,L,tangXDT,tangYDT,tangXNV : BYTE ;
XDT,YDT,XNV,F ,DIEM0,DIEM ,TGROI : INTEGER;
TEN :STRING;
_FILE :TEXT;
procedure TAOCNV(cot,tren,duoi : integer ) ; {---HAM NAY DE TAO CHUONG NGAI VAT.--- }
var i: integer;
begin
for i := 1 to tren do
begin
gotoxy(cot,i) ;
write(#25) ;
end;
for i:= 21-duoi to 21 do
begin
gotoxy(cot,i) ;
write(#24);
end;
end;
procedure VIETDT(x,y: integer); {----HAM NAY DUNG DE TAO DOI TUONG.2 BIEN LA TOA DO CUA DOI TUONG-----}
begin
f := 20 ;
gotoxy(x,y);
write(#2);
end;
BEGIN
CLRSCR;
RANDOMIZE;
TEXTBACKGROUND(25);
TEXTCOLOR(5);
XNV := 30 ;{DAY LA TOA DO x CUA NGAI VAT , NGAI VAT CHI CAN MOI X .}
{---XDT VA YDT LA CAC TOA DO CUA DOI TUONG.---}
XDT := 20;
YDT := 10;
GOTOXY(25,15);
WRITELN('AN T DE DI CHUYEN NHAN VAT ...') ;
DELAY(2000) ;
VIETDT(XDT,YDT);
{-------------TRO CHOI .. START WRITE------------------}
DIEM := 0;
TREN := 4 + RANDOM(6);
DUOI := 4 + RANDOM(6) ;
L := 0 ;
tangXDT := 1; tangYDT := 2;{-----XDT = CONST , T/M XDT PHAI CO THE BANG XNV. }
tangXNV := 8; TGROI := 120;
WHILE L = 0 DO
BEGIN
{-----TAO CHUONG NGAI VAT-----}
{----TREN VA DUOI LA DO DAI CUA CAC COT NGAI VAT O TREN VA DUOI.}
{TANG MUC DO KHO :}
IF DIEM = 12 THEN BEGIN TGROI := 85; tangXNV := 6; {tangYDT := 2 ;} END;
IF DIEM = 25 THEN BEGIN TGROI := 70; {tangYDT := 2 ;} tangXNV := 4; END;
TAOCNV(XNV,TREN,DUOI);
{-------TAO DOI TUONG --------}
{-- Luc chua co kich thich--- }
WHILE NOT KEYPRESSED DO
BEGIN
DELAY(TGROI);
CLRSCR;
TAOCNV(XNV,TREN,DUOI);
YDT := YDT +1 ;
VIETDT(XDT,YDT) ;
IF (YDT >= 21) OR (YDT = 1) THEN
BEGIN
GOTOXY(25,15) ;
WRITE('GAMEOVER') ;
DELAY(1500);
L := 1;
BREAK;
END ;
END;
IF L = 1 THEN BREAK ;
{-- Luc da co kich thich--- }
IF UPCASE(READKEY) = 'T' THEN
BEGIN
CLRSCR;
XDT := XDT + tangXDT ;
YDT := YDT - tangYDT ;
TAOCNV(XNV,TREN,DUOI);
VIETDT(XDT,YDT);
END;
{----KET THUC PHAN CHINH----/}
{--- XU LY------}
IF (YDT >= 21) OR (YDT = 1) THEN
BEGIN
GOTOXY(25,15) ;
WRITE('GAMEOVER') ;
DELAY(1500);
L := 1;
END ;
IF (XDT = XNV) THEN
BEGIN
IF (YDT <= TREN+1) OR (YDT >= (21 - DUOI)) THEN
BEGIN
GOTOXY(25,15) ;
WRITE('GAMEOVER') ;
DELAY(1500);
L := 1;
END
ELSE
BEGIN
SOUND(25);
SOUND(125);
DIEM:= DIEM +1 ;
XNV := XNV + tangXNV ;
TREN := 5 + RANDOM(4);
DUOI := 5 + RANDOM(5) ;
END;
END;
{--- DOI TUONG DA DI HET XDT > 74 >>> QUA MAN HINH ------}
IF XDT > 74 THEN
BEGIN
CLRSCR;
XDT := 5 ;
XNV := 10;
END;
END;
CLRSCR;
GOTOXY(25,15);
WRITE('DIEM CUA BAN LA: ',DIEM ,' DIEM . ');
GOTOXY(1,1);
{CLRSCR;
GOTOXY(25,15);
WRITE('DIEM CUA BAN LA: ',DIEM);
{---- TAO FILE VA KIEM TRA FILE LUU KET QUA . ----}
DIEM0 := 0;
ASSIGN(_FILE,'D:\TUAN_FLAPPY');
{$I-} {T?t vi?c ki?m tra Vào/Ra}
RESET (_FILE) ;READLN;
{$I+}; {M? vi?c ki?m tra Vào/Ra}
IF IOResult <> 0 THEN {BI LOI >> FILE KHONG TON TAI.}
BEGIN
REWRITE(_FILE ) ;
WRITELN(_FILE,0);
WRITELN(_FILE,'NGUYEN DINH TUAN');
END
ELSE
BEGIN {BEGIN OF ELSE}
IF NOT EOF(_FILE) THEN
BEGIN
READLN(_FILE,DIEM0);
READLN(_FILE,TEN );
END;
IF DIEM > DIEM0 THEN
BEGIN
GOTOXY(25,16);
WRITE('THANH TICH MOI: ',DIEM);
GOTOXY(25,17);
WRITE('THANH TICH CU LA: ',DIEM0,' THUOC VE BAN ',TEN);
ASSIGN(_FILE,'D:\TUAN_FALPPY');
REWRITE(_FILE);
CLRSCR;
GOTOXY(5,1);
WRITE('TEN CUA BAN LA : ');
READLN(TEN);
WRITELN(_FILE,DIEM);
WRITELN(_FILE,TEN);
END
ELSE
BEGIN
GOTOXY(25,17);
WRITE('THANH TICH CAO NHAT LA: ',DIEM0,' THUOC VE BAN ',TEN);
END;
DELAY(2000);
END; {END OF ELSE}
DELAY(3000);
READLN;
END .
bạn ơi mình hỏi tí! sao mình làm mà nó cứ ghi là unexpected end of line. Sửa sao bạn
Xóaunexpected end of file nha mình ghi lộn hihi
Xóalam sao de choi ban? no chay nhanh qua ban oi
Trả lờiXóaBạn có thể thay đổi hàm DELAY(time) trong hàm nhé ;)
Xóalam sao de choi ban? no chay nhanh qua ban oi
Trả lờiXóabạn có thể chỉnh thời gian delay :)
Xóasao mình ko paste ra đc vậy
Trả lờiXóanó báo syntax error
Trả lờiXóaNè mấy bạn ơi cho mk hỏi tí h muốn làm game này là mk phải gỏ y chang đoạn VBản trên hay là mk còn phải sửa đổi j nửa k
Trả lờiXóaKhông bạn ạ :)
Xóaco nha bn minh sua lenh dela(3000);} o an cuoi lai thanh delay(3000);la choi dc tai ban ko de y chu luc mih xem lai thi moi biet loi
Xóabái phục
Trả lờiXóaMình không có nhé bạn :) .
Trả lờiXóaMình cũng muốn học lập trình mà khó quá à
Trả lờiXóasao lúc chạy màn hình ghi là file không tồn tại, làm thế nào để sửa hả bạn?
Trả lờiXóaXem thử code Flappy Bird của mình nhé, ngắn gọn hơn nhiều.
Trả lờiXóaCó link download mã nguồn trong video đó.
https://www.youtube.com/watch?v=HROiX1KWaa8
Xem thử code Flappy Bird của mình nhé, ngắn gọn hơn nhiều.
Trả lờiXóaCó link download mã nguồn trong video đó.
https://www.youtube.com/watch?v=HROiX1KWaa8
Cho mình xin code của 3 game khác cũng viết bằng Pascal đi. Mình rất cần gấp lắm.Cảm ơn bạn nhiều.
Trả lờiXóaNhận xét này đã bị tác giả xóa.
Trả lờiXóalike cho ban
Trả lờiXóactrinh chạy xong nó báo lỗi mà mình ko biết lỗi gì hết
Trả lờiXóaloi delay(3000):} o ke cuoi kia,sua lai thanh delay(3000); a choi dc ak
Xóabai nay ban tuan dang hi minh nhan xet la cay lenh delay(3000);} la sai phai sua lai thanh delay(3000); nha ban tuan
Trả lờiXóa'can't find unit CRT used by flappy' la loi gi vay a ?
Trả lờiXóamay cai ------------------ la sao vay
Trả lờiXóalàm sao lưu vào ổ trình dịch
Trả lờiXóaHàm gotoxy là hàm gì vậy bạn
Trả lờiXóalàm sao cho nó di xuống bạn
Trả lờiXóatại sao nó cứ nói 'unexpected end of file' thế bạn?
Trả lờiXóasao mình bấm t mà ko di chuyển v ?;-;
Trả lờiXóaQUÁ OK LUÔN. 1 LIKE
Trả lờiXóanày bạn ơi mình đã thử và nó khá là ồn khi mình chơi thử mong bạn phản hồi
Trả lờiXóabạn ơi, nó chơi được nhưng path not found thì sửa như thế nào?
Trả lờiXóacảm ơn bạn vì con game.