推箱子游戏———DELPHI

 

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/

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值