1 游戏总共有四个级别(初级,中级,高级,特高级),每个级别10关,可自行选择,且每关可以从来。背景音乐6首可自己选择,并可以背景音效的开关。成绩判定根据所走的“步数”来判定!更多相关内容在“帮助”菜单中可得到解决!
2 在这里我仅仅介绍一下它的制作流程,对初学delphi的朋友来说这是个不错的小项目!具体代码没有贴出,如有需要可跟我联系!建议自己写,挺简单的!
3 简介:
(1) 相关变量及类型声明:
Type
GKdata=(n,m,w,b,h); //枚举类定义,用于界面信息的存储
GK_array=array [0..9,0..13] of GKdata;//界面显示箱子的存储结构
type block=record //记录类,记录箱子位置
x:byte;
y:byte;
end;
type
TForm1 = class(TForm)
procedure drawimg(var gk2:GK_array); //显示游戏界面,自定义
procedure FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState); //方向键的输入,Tform类事件
procedure leftgo(); //向左移动一个单位 (每个单位即是一个箱子大小)
procedure upgo(); //向上移动一个单位
procedure rightgo(); //向右移动一个单位
procedure downgo(); //向下移动一个单位
var
gks:byte; //关卡
img:array of array of Timage; //动态timage控件数组
man:block; //人物
hole:array of block; //洞的位置数组
holenum:byte; //每关洞的个数
gk_array1:GK_array; //界面显示箱子的存储结构
degree:byte=0; //难度系数
steps:byte=0; //步数
dylabel:Tlabel; //在pannel组建上显示状态信息
(2) 部分函数,过程声明
function mtow(dir:byte):boolean; //人撞墙
function mtob(dir:byte):boolean; //人撞箱子
function mtobtob(dir:byte):boolean; //人撞箱子到箱子
function mtobtow(dir:byte):boolean; //人撞箱子到墙
procedure mrun(dir:byte); //人走
procedure brun(dir:byte); //箱子走
function win():boolean; //过关
function degreewin():boolean; //关卡
procedure count(); //统计“洞”的个数
procedure stations(den:byte;gkn:byte;stn:byte); //每走一步的状态
(3) 存储结构
采用矩阵的存储结构,并自定义枚举类型用于界面信息的存储;
如: for i:=0 to 9 do
for j:=0 to 13 do
gk[i][j]:=n;//GKdata=(n,m,w,b,h)自定义枚举类
4 关键字:
枚举类型 记录类型 动态数组 动态组件生成及使用 内存的分配及释放 数据存储结构 过程 函数 音乐文件的调用 TMainmenu Tpannel Tlabel Timage