当前位置:首页 > 汇编语言推箱子课程设计
mov ecx, 14D*12D mov ebx ,0 @@1:
mov al ,[esi][ebx] inc ebx
cmp al,MAP_OBJECT jz @@2 dec ecx jnz @@1
jmp @@ExitCheck @@2:
push FALSE pop Result @@ExitCheck: mov eax,Result pop esi ret
2.4游戏设计模块
2.4.1. 数据类的设计与实现
该类主要用于对地图数据的保存与提取,在保存时,判断玩家编辑的地图是否合理,如果不合理则提示相应信息,只有合理的地图才能保存。在提取地图信息的时候也进行一次检查,如果编辑地图不合理则载入默认设置。关键代码及说明如下:
通过public static boolean exportDataToFile(int[][] editDataArray)
方法将地图数据写入到文件中;通过public static boolean checkUserFile()检查用户编辑数据是否合理;通过public static int[][] importDataFromFile()从文件中读取数据载入地图。
17
2.4.2设定数据结构
例如行列数必须在15*15之间,玩家绘制地图时,当前所选游标实现添加、删除、替代等功能,判断玩家是否完成任务。
Check endp InitStBar proc
LOCAL StbarHandle :DWORD invoke GetDlgItem,hWnd,IDC_SBR1 mov StbarHandle,eax
invoke SendMessage,StbarHandle,SB_SIMPLE,1,0 ;invoke SendMessage,StbarHandle,SB_SETPARTS,1,150 ret
InitStBar endp
ShowMessage proc Val:DWORD push eax
invoke wsprintf,Addr szErrorMessage,Addr FmtStr,Val invoke
MessageBox,hWnd,Addr
szErrorMessage,Addr
szCaption,MB_ICONINFORMATION pop eax ret
ShowMessage endp
end start
18
3、游戏数据流程和设计方案
3.1数据流程和功能介绍
本设计基本实现了可以在PC平台上运行的推箱子游戏,本游戏分五个模块:1、初始化模块;2、功能实现模块;3、游戏设计模块;4、游戏数据模块;5、功能控制模块。
本游戏是一款益智类游戏,所以操作十分简单。游戏中玩家可以用键盘的
上、下、左、右键控制小人的移动位置,也可以直接触摸手机屏幕完成相应操作。游戏规则也十分简单,玩家在一个有限空间内,将木箱放到指定的位置。箱子只能推不能拉,而且一次只能推动一个箱子,胜利条件是把所有箱子都推到目的地。
3.2设计目的
(1)此次的设计是开发一款可在PC平台上运行的推箱子游戏程序,可流畅运
行游戏,编辑地图等
(2)进一步学习和掌握汇编语言程序的编写和应用的方法,通过较大规模程序
的编写,提高编写汇编语言程序的水平和学习程序调试方法。 。
3.3主流程界面设计
在策划推箱子游戏时,首要考虑到要设计一个优美的游戏界面,操作起来更加人性化,即玩家可以用键盘的上、下、左、右键控制小乌龟的移动位置,也可以直接触摸手机屏幕完成相应操作。在画面方面也要更加清新,方便各个年龄段的玩家使用。我对这个游戏的定义是一个轻量级的益智游戏,不存在复杂的情节,做的主要工作为设计游戏各关仓库的形状、大小、可通过区域、各关中箱子的初始位置与目的地。当然在正式开始编写程序时,需要上网搜集了游戏中要用到的图片、声音等,收集一些有用的素材。
19
推箱子游戏 初始化模块 画图模块 移动箱子模移动小人模功能控制模 图1.1 界面设计图
图1.2数据流程图
3.4游戏设计任务和功能
3.4.1. 基本要求
(1)每关卡箱子数目不定;
(2)主角和箱子只能呆在通道及目标位置上移动,不能穿墙;
20
共分享92篇相关文档