ImageVerifierCode 换一换
格式:DOCX , 页数:26 ,大小:111.51KB ,
资源ID:2148033      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/2148033.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(推箱子程序的设计与报告.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

推箱子程序的设计与报告.docx

1、推箱子程序的设计与报告程序设计与实验报告 设计容:推箱子 :黄 庭 班级 :电信1101 学号 :1107050123一引言二需求分析与系统设计三 开发技术四程序中的主要模块五. 心得体会六. 程序全文1引言在实际编写程序的过程中,产生的一些疑惑与不解,在同学和老师的帮助下圆满解决,对于老师和同学们的帮助,在此我表示衷心的感。因为一开始构架的问题造成了一些功能的不能实现。经多方努力仍不能解决,留下遗憾,希望随着日后能力的提高能解决今天留下的问题。二需求分析与系统设计2.1 设计目的通过本学期对游戏程序的研究,我们掌握了运用win32来制作游戏的技术,虽然不娴熟还有待提高,但是一些技术含量较低的

2、小游戏还是很容易让我们掌握的。此次游戏程序设计的目的,主要是通过win32来制作游戏来更好的掌握编程语言。通过win32这个平台,熟习在制作游戏方面所需要的技巧,将自己的游戏尽可能多的运用所学到的技术,并且将在课程上面学到的知识付诸于实践,并从实际操作中,找出自己的不足之处进行弥补。每一次的课程设计,都是一次小小的软件工程,所以需要我们用百分百认真的态度来对待。对于小一点的程序,我们一个人足以应付,但是这并不是说我们可以单独一个人为所欲为,其实质应该是通过课程设计来培养自己独立自主的能力。而对于那些相对于麻烦的程序,便需要我们的协作,这样对我们以后进入企业公司发展打下了更多的基础。2.2 设计

3、要求这次课程设计的要求并不像以往那么紧,老师让给了我们充足的时间来制作游戏,虽然是计划做一款较为大众的经典游戏,并且能力有限,但还是对游戏做出了较高的期望,对于功能做出了较多的设想。例如,背景音乐的播放,时间的显示,自动切换关卡,难度的选择等。2.3 界面设计图2.3.1进入后的主界面图2.3.2素材图片集合这个程序是一个益智类的游戏,是一个单机游戏,人物通过推动箱子到达目的地以在游戏中取胜,同一时刻只能有一位玩家进行游戏。图2.3.4英雄榜图2.3.5关于游戏 图2.3.3选择关卡截图2.4 游戏流程 系统流程图:游戏开局出现如图1,然后进行难度的选择,再是关卡的选择,然后就可以游戏了,游戏

4、完成之后会自动切换下一关,游戏者可手动选择结束游戏。三 开发技术3.1 Win32 API 简介 Win32 API即为Microsoft 32位平台的应用程序编程接口(Application Programming Interface)。所有在Win32平台上运行的应用程序都可以调用这些函数。使用Win32 API,应用程序可以充分挖掘Windows的32位操作系统的潜力。 Mircrosoft的所有32位平台都支持统一的API,包括函数、结构、消息、宏及接口。使用 Win32 API不但可以开发出在各种平台上都能成功运行的应用程序,而且也可以充分利用每个平台特有的功能和属性。在具体编程时,

5、程序实现方式的差异依赖于相应平台的底层功能的不同。最显著的差异是某些函数只能在更强大的平台上实现其功能。例如,安全函数只能在Windows NT操作系统下使用。另外一些主要差别就是系统限制,比如值的围约束,或函数可管理的项目个数等等。 3.2 Win32 API函数分类标准Win32 API函数可以分为以下几类:1、窗口管理2、窗口通用控制3、Shell特性4、图形设备接口5、系统服务6、国际特性7、网络服务 四程序中的主要模块4.1函数原型的一些定义LRESULT CALLBACK WindowProc( HWND hwnd, / handle to window UINT uMsg, /

6、message identifier WPARAM wParam, / first message parameter LPARAM lParam / second message parameter);/窗口过程函数原型BOOL InitWindowsClass(HINSTANCE hInstance);/初始化窗口类BOOL InitWindows(HINSTANCE hInstance,int nCmdShow);/初始化窗口BOOL CALLBACK DlgProc(HWND hdlg,UINT message,WPARAM wParam,LPARAM lParam);/对话框过程函数

7、void Show_Image(HBITMAP bmap,int i,int j); /显示单图片void Draw_Map();/作图的函数void Show_Map();/显示地图void Get_Poision(Poision &poision);/人物在哪里的定位4.2创建窗口函数void main() PlaySound(E:2.wav, NULL, SND_FILENAME | SND_ASYNC);BOOL InitWindows(HINSTANCE hInstance,int nCmdShow) hWnd=CreateWindow(joe,推箱子,WS_OVERLAPPEDWI

8、NDOW,450,200,325,372,NULL,NULL,hInstance,NULL); if(!hWnd) return FALSE; SetTimer(hWnd, 1, 1, NULL); ShowWindow(hWnd,nCmdShow); UpdateWindow(hWnd); hInst=hInstance; return TRUE;4.3 地图的输出void Show_Map() int i,j; for(i=0;i10;i+)/1表示墙 0表示通路 2表示箱子 3表示人 4表示目的地 for(j=0;j10;j+) if(Mapij=1) Show_Image(hBm_wa

9、ll,32*j,32*i); else if(Mapij=2) Show_Image(hBm_box,32*j,32*i); else if(Mapij=3) Show_Image(hBm_people,32*j,32*i); else if(Mapij=4) Show_Image(hBm_dirtion,32*j,32*i); else if(Mapij=0) Show_Image(hBm_floor,32*j,32*i);4.4人物的定位void Get_Poision(Poision &poision) int i=0,j=0; bool flag=FALSE; poision.Hang

10、=0,poision.Lie=0; for(i=0;i10;i+) for(j=0;j10;j+) if(Mapij=3) poision.Hang=i; poision.Lie=j; flag=TRUE; break; if(flag=TRUE) break; 4.5 地图的编写int Map41010=1,1,1,1,1,0,0,0,0,0, /1表示墙 0表示通路 2表示箱子 3表示人 4表示目的地 1,3,0,0,1,0,0,0,0,0, 1,0,2,2,1,0,0,1,1,1, 1,0,2,0,1,0,0,1,4,1, 1,1,1,0,1,1,1,1,4,1, 0,1,1,0,0,0

11、,0,0,4,1, 0,1,0,0,0,1,0,0,0,1, 0,1,0,0,0,1,1,1,1,1, 0,1,0,0,0,1,0,0,0,1, 0,1,1,1,1,1,0,0,0,0 ;int Map51010=1,1,1,1,1,1,1,1,1,1, /1表示墙 0表示通路 2表示箱子 3表示人 4表示目的地 1,0,0,0,1,0,0,0,0,1, 1,0,3,0,1,4,0,0,4,1, 1,0,2,0,1,0,0,1,0,1, 1,0,1,0,0,0,0,0,0,1, 1,0,0,2,0,0,0,0,0,1, 1,0,0,0,1,0,0,0,0,1, 1,0,0,0,0,0,0,0,

12、0,1, 1,0,0,0,0,0,0,0,0,1, 1,1,1,1,1,1,1,1,1,1 ;int Map11010=1,1,1,1,1,1,1,1,1,1, /1表示墙 0表示通路 2表示箱子 3表示人 4表示目的地 1,0,0,0,1,0,0,0,0,1, 1,0,3,0,1,4,0,0,4,1, 1,0,2,0,1,0,0,1,0,1, 1,0,1,0,0,0,0,0,0,1, 1,0,0,2,0,0,0,0,0,1, 1,0,0,0,1,0,0,0,0,1, 1,0,0,0,0,0,0,0,0,1, 1,0,0,0,0,0,0,0,0,1, 1,1,1,1,1,1,1,1,1,1 ;

13、int Map21010=1,1,1,1,1,1,1,1,1,1, /1表示墙 0表示通路 2表示箱子 3表示人 4表示目的地 1,0,0,0,1,0,0,0,0,1, 1,0,3,0,0,0,0,0,0,1, 1,0,2,0,1,1,0,0,0,1, 1,0,0,0,4,1,0,0,0,1, 1,0,0,2,1,1,0,0,0,1, 1,0,0,0,0,0,1,4,0,1, 1,0,0,0,0,0,0,1,0,1, 1,0,0,0,0,0,0,0,1,1, 1,1,1,1,1,1,1,1,1,1 ;int Map31010=1,1,1,1,1,1,1,1,1,1, /1表示墙 0表示通路 2

14、表示箱子 3表示人 4表示目的地 1,0,0,0,1,0,0,0,0,1, 1,0,3,0,0,0,0,2,0,1, 1,0,0,0,0,1,0,0,0,1, 1,0,0,0,1,0,0,0,0,1, 1,0,2,0,0,0,0,0,0,1, 1,0,0,1,0,0,1,4,0,1, 1,0,1,4,0,0,0,1,0,1, 1,1,0,0,0,0,0,0,1,1, 1,1,1,1,1,1,1,1,1,1 ;int Map1010=0,1,1,1,1,1,1,1,0,0, /1表示墙 0表示通路 2表示箱子 3表示人 4表示目的地 0,1,1,1,1,1,1,1,0,0, 0,1,0,0,0,0,0,1,1,1, 1,1,2,1,1,1,0,0,0,1, 1,0,3,0,2,0,0,2,0,1, 1,0,0,0,1,0,0,0,1,1,

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1