欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    推箱子游戏设计与实现.docx

    • 资源ID:13790497       资源大小:329.49KB        全文页数:33页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    推箱子游戏设计与实现.docx

    1、推箱子游戏设计与实现毕业设计(论文)课 题 名 称 基于开发的推箱子游戏 学 生 姓 名 吕季干 学 号 0840819035 系、年级专业 理学与信息科学系2008级信息与计算科学 指 导 教 师 戴亚滨 职 称 讲 师 2012 年 5 月 25 日摘 要在现今电子信息高速发展的时代,电子游戏已经深入人们的日常生活,成为娱乐方式。但是游戏设计结合了日新月异的技术,在一个产品中整合了复杂的设计、艺术、声音和软件。 推箱子游戏是一款很有趣味的游戏,它由英雄、魔王、笼子、墙和地板组成,然后存储在一个数组中,用户根据键盘的向上、向左、向右和向下键操作。其开发过程有一定的技巧和方法,其中涉与到二维数

    2、组、键盘操作以与图形化函数等方面的知识。此次设计是在 7 系统下,以为开发语言,在 平台上进行游戏的设计与实践。关键词:游戏设计、数组、开发语言 , s , . s , a , , , . a , , , , , . , a , . 7 , , . : , , 摘 要 I 错误!未指定书签。前言 11可行性分析 21.1要求 21.2目标 22 项目开发计划的任务分解 23 概要设计 23.1游戏界面 23.2游戏四种基本图形 23.3英雄走向图形 33.4 箭头图片 34 需求规格说明 34.1运行环境 34.2功能需求 34.3运行需求 45 详细设计 45.1 系统模块 45.2 任务执

    3、行流程 55.3 小人移动流程 56界面实现 56.1 界面区 56.2 游戏区 86.3 图片加载区 116.4 英雄变化区 116.5 地图绘画区 197 结束语 23参考文献 24附 录 25致 谢 26前言随着社会的发展,人类的生产、生活越来越离不开信息。谁拥有了更多更有效的信息,谁就将在竞争中处于有利的地位。信息产业正在成为一个国家的支柱。只有拥有了先进的技术和知识,才能有效地管理好浩如烟海的信息,并从中提取出对自己有用的信息来加以利用。推箱子游戏是目前比较流行的游戏之一,很多操作系统或者流行软件都会带有这种游戏。它既能锻炼思维的严密性,又有很多乐趣。我个人也比较喜欢玩这个游戏,因此

    4、,我就借这个机会将这个推箱子游戏用语言实现了出来,其中的界面使用了中的工具,当然,我也借鉴了前人的一些技巧经验。然而是什么? 是一个用于开发应用程序用户界面的开发工具包。它以抽象窗口工具包为基础使跨平台应用程序可以使用任何可插拔的外观风格。开发人员只用很少的代码就可以利用丰富、灵活的功能和模块化组件来创建优雅的用户界面。 通过本次游戏的设计,综合自己在校期间所学的理论知识,设计开发推箱子游戏,使自己熟悉应用系统的开发过程,培养独立思考能力,检验学习效果和动手能力,初步掌握软件工程的系统理论,进一步巩固和加强自身对, 基础知识的理解,提高自己的编程水平,从而达到理论与实践相结合的目的。由于时间仓

    5、促和本人水平有限,此游戏的制作显得有些粗糙,我以后将会再接再厉。1可行性分析1.1要求 在的开发环境下,利用所学 语言相关知识,开发一个推箱子小游戏,实现游戏界面规划、英雄走动、魔王动向等功能。建立一个 工程,实现游戏的编程设计。1.2目标可包括:a. 人力与设备费用的节省:单独开发b. 界面友好美观:自绘技术实现c. 游戏的可操作性,通过键盘的方向键实现d. 游戏界面的游戏区e. 等等2 项目开发计划的任务分解 a. 建立一个 工程 b. 建立一个包 c. 画出游戏区域 d. 调整游戏窗口大小 e. 加载游戏相关图片 f. 计算游戏结果,判断是否进入下一关3 概要设计3.1游戏界面 背景图片

    6、如下:3.2游戏四种基本图形在游戏中相对应的图片分别为: 3.3英雄走向图形图片如下:3.4 箭头图片3.5游戏操作操作如下: 方向键左:左移 方向键右:右移 方向键上:上移 方向键下:下移 箱子只可以推, 不可以拉, 而且一次只能推动一个,胜利条件就是把所有的箱子都推到目的地。4 需求规格说明 4.1运行环境 7 4.2功能需求a. 图形左右移动b. 图形上下移动c. 实现开始,结束按钮的功能d. 使游戏窗口最大化失效4.3运行需求 硬件和软件接口:1 :1.6以上2.内存:256M以上3.操纵系统: 74.运行软件:5 详细设计5.1 系统模块本程序包括5个模块,分别是初始化模块、画图模块

    7、、移动箱子模块、移动小人模块和功能控制模块。各个模块的功能描述如下:(1)初始化模块。 该模块包括屏幕初始化和游戏第一关的初始化。屏幕初始化用于输出欢迎信息和操作提示,游戏每一关的初始化是构建每一关的关卡。(2)画图模块。 该模块主要是被其它模块调用,用于画墙、在空地画箱子、在目的地画箱子、画小人和画目的地。(3)移动箱子模块。 该模块用于移动箱子,包括目的地之间、空地之间和目的地与空地之间的箱子移动。(4)移动小人模块。 该模块用于控制小人移动,从而推动箱子到目的地。(5)功能控制模块。 该模块是几个功能函数的集合,包括屏幕输出功能和指定位置状态判断功能。5.2 任务执行流程游戏从第一关开始

    8、,按上下左右方向键控制小人移动来推动箱子,可以在游戏中的按退出按钮进行退出。如果游戏无成功希望,可以按空格键回到当前任务的开始状态;如果成功完成当前关,则进入下一关。5.3 小人移动流程小人移动的方向有4个,()函数(处理小人移动的函数)对这4个方向移动的处理都一致,只是调用函数时的参数有所不同。首先判断小人移动的方向,然后根据小人所处世的当前状态、下一步状态或者下下一步状态进行适当的处理。6界面实现6.1 界面区这个区域主要负责窗体的大小,背景,名称以与窗体不可改变等元素。a.界面大小: (540 + 4, 440 + 62);b.界面背景: ();c.界面大小不可改变: () 不能改变窗体

    9、大小d.界面名称: (英雄传说吕季干); e.界面的实现如下:f.界面区总代码: ; ; ; ; = (); = () 加载图片的工具 () (); () () 加入画纸 (540 + 4, 440 + 62); (); ()( (), (26, 29), ); () 不能改变窗体大小 (); (英雄传说吕季干); 加一个监听器,保镖,匿名类:匿名类的格式 接口名() 接口中的方法的实现 ( () ( 0) (0() 0=向下 1=向左 2=向右 3=向上 39 (英雄向右); (2); ; 40 (英雄向下); (0); ; 38 (英雄向上); (3); ; 37 (英雄向左); (1);

    10、 ; ( 0) ( 0) ); (); ( ) (); 6.2 游戏区这个区域主要完成游戏界面的大小等元素。a.界面大小(600, 500);b.界面实现如下图: c.游戏区总代码: ; ; ; ; ; = 6792476564904637059L; ; 背景图片 ; = () 加载图片的工具 = (); = (); () ; ( ) = ; () (600, 500); (); = (1); 初始化背景图片 = (1); 英雄的图片 (慧灵); D()() 启动线程 ( g) (, 0, 0, , ) 画出背景图片 (, 0, 0, ); 6 = (g) 画地图 (6) 到下一关 (); (

    11、g) 画地图 画英雄 (g) 调用英雄的的画的方法,将并将画笔g传递过去,画出英雄 该 方法用于改变英雄运行的方向 ( f) (f) 将方向的改传给英雄 () 因为按了键所以可以移动 使用线程来完成,内部类:写在类里面的类 D () 方法必须这么写 () (40); ( e) (); (); 调用这个D对象外面的() () ; ( ) = ; 6.3 图片加载区 这个区域主要负责加载各类型的图片,使界面变得美观等条件。图片加载区总代码: ; ; ; ; ; ( ) = ; 会将图片加载在内存中 = ()() ( + ); ( e) (); ; 6.4 英雄变化区这个区域主要负责英雄的变化,如下

    12、:a.英雄的起始坐标: 存放英雄起始位置的坐标 = 200; = 200;b.英雄起始的方向: f = 0 0=向下 1=向左 2=向右 3=向上c.画英雄的方法: ( g) () () 移动英雄 (, 0, 0, 32, 32, 200, 200, 232, 232, ); 在屏幕上的左上角的X,Y和 屏幕上的右下角,之间, 图片的左上角,图片上右下角 (, , , 32, 32,0,0,32,32, )向下 (, , , + 32, + 32, 0, 32 * f, 32, 32 * (f + 1), ) 控制上下左右的图片 d.英雄坐标改变的方法: () (f) 0: () 32; ;

    13、1: () 32; ; 2: () 32; ; 3: () 32; ; = ; 每移动一次就停止 (现在英雄的坐标是:); e.碰撞检测的方法,返回能走还是不能走 () 1. 得到英雄在地图中的位置 = ( - 100) / 32; = ( - 100) / 32; 2. 根椐英雄的位置与行进的方向,判断地图上是否可以行走 (f) 0=向下 1=向左 2=向右 3=向上 0: 得到地图对象中的地图数组 ()() + 1 2 ()() + 1 6) ; ()() + 1 10) 前面是魔王 ()() + 2 2) 前面前面是地板 ()() + 1 = 2; ()() + 2 = 10; ; ()

    14、() + 2 6) 前面前面是笼子 ()() + 1 = 2; ()() + 2 = 14; ; ()() + 1 14) 前面是带笼子魔王 ()() + 2 2) 前面前面是地板 ()() + 1 = 6; 前面就变成笼子 ()() + 2 = 10; 前面的前面变成了魔王 ; ()() + 2 6) 前面前面是笼子 ()() + 1 = 6; 前面变成笼子 ()() + 2 = 14; 前面前面变成带笼子的魔王 ; ; 1: ()() - 1 2 ()() - 1 6) ; ()() - 1 10) 前面是魔王 ()() - 2 2) 前面前面是地板 ()() - 1 = 2; ()()

    15、- 2 = 10; ; ()() - 2 6) 前面前面是笼子 ()() - 1 = 2; ()() - 2 = 14; ; ()() - 1 14) 前面是带笼子魔王 ()() - 2 2) 前面前面是地板 ()() - 1 = 6; 前面就变成笼子 ()() - 2 = 10; 前面的前面变成了魔王 ; ()() - 2 6) 前面前面是笼子 ()() - 1 = 6; 前面变成笼子 ()() - 2 = 14; 前面前面变成带笼子的魔王 ; ; 2: ()() + 1 2 ()() + 1 6) ; ()() + 1 10) 前面是魔王 ()() + 2 2) 前面前面是地板 ()()

    16、+ 1 = 2; ()() + 2 = 10; ; ()() + 2 6) 前面前面是笼子 ()() + 1 = 2; ()() + 2 = 14; ; ()() + 1 14) 前面是带笼子魔王 ()() + 2 2) 前面前面是地板 ()() + 1 = 6; 前面就变成笼子 ()() + 2 = 10; 前面的前面变成了魔王 ; ()() + 2 6) 前面前面是笼子 ()() + 1 = 6; 前面变成笼子 ()() + 2 = 14; 前面前面变成带笼子的魔王 ; ; 3: ()() - 1 2 ()() - 1 6) ; ()() - 1 10) 前面是魔王 ()() - 2 2)

    17、 前面前面是地板 ()() - 1 = 2; ()() - 2 = 10; ; ()() - 2 6) 前面前面是笼子 ()() - 1 = 2; ()() - 2 = 14; ; ()() - 1 14) 前面是带笼子魔王 ()() - 2 2) 前面前面是地板 ()() - 1 = 6; 前面就变成笼子 ()() - 2 = 10; 前面的前面变成了魔王 ; ()() - 2 6) 前面前面是笼子 ()() - 1 = 6; 前面变成笼子 ()() - 2 = 14; 前面前面变成带笼子的魔王 ; ; ; 6.5 地图绘画区 该模块主要用于画图操作,包括画墙、画箱子、画目的地和画小人等。

    18、界面实现如下: a.读取地图的工具 = (); 1 = ; 墙 2 = ; 地板 3 = ; 笼子 4 = ; 魔王 = ; = (); 当前关卡的地图 = 1; () ; () 进入下一关 = (); = 100 地图开始的初始坐标 = 100; ; 这样就可以得到画纸上的内容,比如英雄b. 构造方法中加载图片 ( ) = ; 1 = (1); 2 = (2); 3 = (3); 4 = (4); = (阴阳); c.接收一个关卡的编号返回地图 ( i) 墙是1, 地板是2 ,笼子4 ,魔王8,英雄16 笼子+地板+魔王14 (i) 1: = 1, 1, 1, 1, 1, 1, 1, 1,

    19、1, 1 , 1, 6, 6, 1, 2, 2, 2, 2, 2, 1 , 1, 6, 6, 1, 2, 10, 2, 10, 2, 1 , 1, 6, 6, 1, 10, 10, 10, 10, 18, 1 , 1, 2, 2, 2, 2, 2, 2, 2, 2, 1 , 1, 2, 2, 2, 2, 2, 2, 2, 2, 1 , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 , ; ; 2: = 19 ; ; ; d.画地图的方法 ( g) 6 = ; 为的时候说明游戏结束了 ( i = 0; i ; ) ( j = 0; j i; ) (ij) 1: (1, + j * 3

    20、2, + i * 32, , ) 画出背景图片 ; 2: (2, + j * 32, + i * 32, , ) 画出背景图片 ; 6: (2, + j * 32, + i * 32, ) 画出背景图片 ,图片叠加不要加背景颜色 (3, + j * 32, + i * 32, ) 画出背景图片 6 = ; 如果有6说明游戏未结束 ; 10: (2, + j * 32, + i * 32, ) 画出背景图片 (4, + j * 32, + i * 32, ) 画出背景图片 ; 18: 发现18后要设置英雄出现的位置 (2, + j * 32, + i * 32, , ) 画出背景图片 发现是18

    21、就设置英雄出现的位置 ()( + j * 32); ()( + i * 32); 设置好之后,将这块设为地板 ij = 2 如果不改为2,英雄就在这个位置不动了 ; 14: (2, + j * 32, + i * 32, ) 画出背景图片 ,图片叠加不要加背景颜色 (4, + j * 32, + i * 32, ) 画出背景图片 ,图片叠加不要加背景颜色 (3, + j * 32, + i * 32, ) 画出背景图片 ,图片叠加不要加背景颜色 ; 19: (); (0, 0, 60, 60); (, 0, 0, ); ; 6;7 结束语通过开发本游戏,我学习到了我们信息与计算科学专业理论课程

    22、的实践方法,真正认识到系统开发的流程,使我再一次认识到理论与实践并行的重要性,这为我今后理论学习和实践技能提高起到了促进的作用。综合了自己在校期间所学的理论知识,使自己熟悉应用系统的开发过程,培养独立思考能力,检验学习效果和动手能力,初步掌握软件工程的系统理论,进一步巩固和加强自身对, 基础知识的理解,提高自己的编程水平,从而达到理论与实践相结合的目的。 此次毕业设计是在老师的精心指导下,进行了理论与实践的结合,通过这次设计,我的动手能力有了很大的提高,使我学习到了怎样去查找翻阅有关理论资料和技术手册,怎样把理论知识与实践相结合,使我对软件开发有了一个宏观的掌控和了解,肯定会对今后的工作产生深

    23、远的影响。 由于水平有限,设计作品还有很多不足之处,请大家多多批评、指正。参考文献:1 陈轶.姚晓昆编著程序设计实验指导.北京:清华大学出版社,20062 杨昭编著.二级语言程序设计教程.北京:中国水利水电出版社,20063 赵文靖编著程序设计基础与上机指导.北京:清华大学出版社,20064 赵毅主编.跨平台程序设计语言.西安:西安电子科技大学出版社,20065 王路群高级程序设计.北京:中国水利水电出版社,20066 雍俊海编著程序设计习题集.北京:清华大学出版社,20067 朱福喜编著语言习题与解析.北京:清华大学出版社,20068 吴其庆编著程序设计实例教程.北京:冶金工业出版社,20069 柳西玲.许斌编著语言应用开发基础.北京:清华大学出版社,200610施霞萍等编著程序设计教程 第2版.北京:机械工业出版社,200611宛延闿等编著.实用程序设计教程.北京:机械工业出版社,200612陈国君等编著2程序设计基础.北京:清华大学出版社,200613郑莉.王行言.马素霞编著语言程序设计.北京:清华大学出版社,200614丁振凡主编语言实用教程.北京:北京邮电大学出版社,200515美 著语言程序设计.基础


    注意事项

    本文(推箱子游戏设计与实现.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开