- 14 Tháng năm 2017
- 3,974
- 7,623
- 744
- 22
- Phú Yên
- Trường THPT Lương Văn Chánh
Chắc suất Đại học top - Giữ chỗ ngay!! ĐĂNG BÀI NGAY để cùng trao đổi với các thành viên siêu nhiệt tình & dễ thương trên diễn đàn.
Nói thật thì mấy ngày nghỉ này mình cũng chẳng có gì để làm ngoài việc viết Code Game cả.
Game này dựa trên game Phá Bom huyền thoại.
Và đây là Code của nó, vì không có nhiều thời gian nên mình viết hơi sơ xài, không đẹp cho lắm
Chơi được thì nhớ Share thành tích cho ae cùng xem với nha.
Quên nữa, Ấn Enter để phá bom và ấn Space để đặt cờ nha.
Game này dựa trên game Phá Bom huyền thoại.
Và đây là Code của nó, vì không có nhiều thời gian nên mình viết hơi sơ xài, không đẹp cho lắm
Mã:
Program Pha_Bom;
uses crt;
const
cx = 24;
cy = 24;
SoBom = 40;
QuaBom = #153;
LaCo = 'X';
ThoiGian = 20000;
var
i,j,vx,vy,SoCo,tg,kiluc: integer;
mh: array[1..cx,1..cy] of char;
lCo: array[1..cx,1..cy] of Boolean;
Procedure Tao_Bom;
var x,y,k,l,bom : integer;
Begin
randomize;
for i := 1 to SoBom do
begin
repeat
x := 1 + random(cx - 1);
y := 1 + random(cy - 1);
until mh[x,y] <> QuaBom;
mh[x,y] := QuaBom;
end;
for i := 1 to cx do
for j := 1 to cy do
if mh[i,j] <> QuaBom then
begin
bom := 0;
for k := i - 1 to i + 1 do
for l := j - 1 to j + 1 do
if ((k <> i) or (l <> j)) and (k <> 0) and (l <> 0)
and (k <> cx + 1) and (l <> cy + 1) then
begin
if mh[k,l] = QuaBom then bom := bom + 1;
end;
if bom <> 0 then
mh[i,j] := chr(Bom+48)
else mh[i,j] := #32;
end;
End;
Procedure Tao_Man_Hinh;
Begin
Tao_Bom;
for i := 1 to cx do
for j := 1 to cy do
begin
gotoxy(i*2,j);
Write('.');
lCo[i,j] := False;
end;
End;
Procedure In_So_Lieu;
Begin
TextColor(Yellow);
gotoxy(cx*2 + 5,3);
Write('So Co: ',SoCo,' ');
gotoxy(cx*2 + 5,5);
Write('Thoi gian: ',tg,' ');
gotoxy(cx*2 + 5,7);
Write('Ki Luc: ',kiluc,' ');
End;
Procedure Pha_Boom;
var k: char;
gameOver : Boolean;
SoBoom,t,tam,code: integer;
f : text;
Begin
kiluc := 1000;
Assign(f,'KiLuc.txt');
reset(f);
Read(f,kiluc);
Close(f);
vx := cx;
vy := cy div 2;
GameOver := False;
SoCo := SoBom;
SoBoom := SoBom;
t := 0;
repeat
t := t + 1;
if t = ThoiGian then
begin
tg := tg + 1;
t := 0;
In_So_Lieu;
end;
k := #0;
if Keypressed then k := readkey;
case k of
#80: if vy < cy then vy := vy + 1;
#72: if vy > 1 then vy := vy - 1;
#77: if vx < cx * 2 then vx := vx + 2;
#75: if vx > 2 then vx := vx - 2;
#13:
begin
TextColor(White);
gotoxy(vx,vy);
if (mh[vx div 2,vy] <> QuaBom) then
begin
Val(mh[vx div 2,vy],tam,code);
if tam <> 0 then
TextColor(tam);
end;
Write(mh[vx div 2,vy]);
if mh[vx div 2,vy] = QuaBom then
begin
GameOver := True;
TextColor(Red);
gotoxy(30,12);Write('GAME OVER!');
end;
end;
#32:
begin
In_So_Lieu;
TextColor(White);
if SoCo > 0 then
if not lCo[vx div 2,vy] then
begin
gotoxy(vx, vy);
Write(LaCo);
lCo[vx div 2,vy] := True;
SoCo := SoCo - 1;
if mh[vx div 2,vy] = QuaBom then SoBoom := SoBoom - 1;
end
else
begin
gotoxy(vx, vy);
Write('.');
LCo[vx div 2,vy] := False;
SoCo := SoCo + 1;
if mh[vx div 2,vy] = QuaBom then SoBoom := SoBoom + 1;
end;
end;
end;
Gotoxy(vx,vy);
until (k = #27) or GameOver or (SoBoom = 0);
TextColor(Red);
if (SoBoom = 0) then
begin
gotoxy(30,12);Write('YOU WIN!');
if tg < kiluc then
begin
Rewrite(f);
Write(f,tg);
Close(f);
end;
end;
End;
BEGIN
clrscr;
Tao_Man_Hinh;
Pha_Boom;
readln;
END.
Quên nữa, Ấn Enter để phá bom và ấn Space để đặt cờ nha.