主题:[原创]贪食蛇+扫雷 2 in 1 游戏,中文界面!!
编译此程序必需的文件:
GRAPH.TPU TP7自带
EGAVGA.BGI TP7自带
GOTH.CHR TP7自带
TSCR.CHR TP7自带
HZK16 UCDOS 的16*16汉字点阵。具体请参阅[url]http://www.programfan.com/club/showbbs.asp?id=14025[/url]
另外,没有Crt补丁的请在此下载:
[url]http://www.mydrs.org/program/list.asp?id=136[/url]
首先运行这个安装来安装:
prooram setup;
begin
assign(output,'hero.dat');
rewrite(output);
writeln(0);
close(output);
end.
运行了安装程序并齐备必需文件后就可以玩游戏了:
PROGRAM biogame;
uses Graph,Crt,Dos;
label 99;
var
grDriver: Integer;
grMode: Integer;
ErrCode: Integer;
game:integer;
ch:char;
{==========OutChinese==============}
procedure putone(x,y:integer;s:string;color:integer);
type
chinesep=array[1..32] of byte;
var
a:chinesep;
f:file of chinesep;
i,j,x0,y0:integer;
k:byte;
q,w:longint;
begin
q:=ord(s[1])-160;
w:=ord(s[2])-160;
q:=(q-1)*94+(w-1);
assign(f,'HZK16') ;
reset(f);
if (q<0) or (q>=filesize(f)) then
begin
close(f);
exit;
end;
seek(f,q);
read(f,a);
close(f);
y0:=y;
for i:=1 to 32 do
begin
k:=a[i];
if i mod 2=1 then
begin
x0:=7+x;
y0:=y0+1;
end
else
x0:=15+x;
for j:=1 to 8 do
begin
if k and 1 =1 then putpixel(x0,y0,color);
x0:=x0-1;
k:=k shr 1;
end;
end;
end;
procedure outchinese(x,y:integer;s:string;blank:integer; color:integer);
var
temps:string;
k:integer;
begin
k:=1;
while k<length(s) do
begin
temps:=s[k]; k:=k+1;
temps:=temps+s[k]; k:=k+1;
putone(x+(k div 2-1)*(16+blank),y,temps,color);
end;
end;
PROCEDURE MineSweeper;
CONST
maxsize=15;
rnd:array[1..8,1..2]of shortint=((0,1),(1,0),(0,-1),(-1,0),(1,1),(-1,-1),(1,-1),(-1,1));
bug='I will die!';
VAR
grDriver: Integer;
grMode: Integer;
ErrCode: Integer;
sign:array[0..maxsize,0..maxsize]of 1..3;{1:No put 2:Put 3:Sign}
mine:array[0..maxsize,0..maxsize]of shortint;{-1:Mine 0:Safety 1..8:Danger}
safe,sweep:array[0..maxsize,0..maxsize]of boolean;
man:record
x,y:word;
end;
size,hard,total:integer;
ff,fk:boolean;
hh,mm,ss,ms:integer;
hh1,mm1,ss1,ms1,hh2,mm2,ss2,ms2:word;
s:string;