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
代码下载:http://gnolhh168.download.csdn.net/
|
请发表评论