下载此文档

P2P推箱子结题论文.docx


文档分类:幼儿/小学教育 | 页数:约15页 举报非法文档有奖
1/15
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/15 下载此文档
文档列表 文档介绍
P2P项目结题论文
——C#推箱子

组员:梁蓝天黄阳林堤彬
指导老师:夏琪
时间:2012年5月16日
摘要
推箱子游戏是一款经典的小游戏,益智怡情,老少皆宜,多年来游戏版本也很多,其中不乏华丽新颖的作品,我们以C#语言作为工具,编写了一款经典的推箱子游戏,游戏功能齐全。本文在我们编写推箱子游戏的基础上,详细叙述编写步骤,包括对游戏的功能分析、前期设计、代码编写以及后期界面美化等内容。
关键词 C# 推箱子
编写游戏前准备
编写语言
我们采用了面向对象语言C#,下面是对C#的基本介绍。
C#(C Sharp)是微软(Microsoft) Framework量身订做的程序语言,微软公司在2000年6月发布的一种新的编程语言。C#拥有C/C++的强大功能以及Visual Basic简易使用的特性,ponent-oriented)的程序语言,和C++与Java一样亦为对象导向(object-oriented)程序语言。
开发工具
微软公司开发的Microsoft Visual Studio 2010
关于推箱子游戏
经典的推箱子是一个来自日本的古老游戏,目的是在训练你的逻辑思考能力。在一个狭小的仓库中,要求把木箱放到指定的位置,稍不小心就会出现箱子无法移动或者通道被堵住的情况,所以需要巧妙的利用有限的空间和通道,合理安排移动的次序和位置,才能顺利的完成任务。
功能分析
总体目标
利用C#设计出一款经典推箱子游戏,能够实现基本的功能,并具有可玩性。
具体要求
游戏界面适合游戏者直接接触的地方,要求界面设计美观,具有提示玩者的功能;
游戏稳定,不会出现错误;
游戏规则易懂,操作方便,易于入门,有完善的帮助;
关卡设计难度适中,关卡设计具有创新性;
推箱子有相应声音效果,便于更好提示玩家。
总体设计
在分析游戏功能的基础上,我们对游戏进行了更加深入的分析,并得出为了实现预想的功能,得有如下的一些子功能:界面设计、地图文件的操作、图形的绘制、键盘消息以及响应判断、帮助指引以及关于功能、声音效果设计。下面对这些子功能进行说明。
界面设计
游戏界面由墙壁、箱子、小人、目的地、背景五大部分组成。我们在网上寻找相应的图片,并使用Photoshop软件进行修改美化,制作出了适用于游戏的图片,为了方便绘制图形的需要,每个图片使用统一的大小,均为32*32(像素)。其中目的地设置为一面旗帜,墙壁为黑色砖块,箱子采用木制箱子,小人为一个手捧箱子的卡通人物。背景设置为淡绿色。整个界面看起来很和谐。
地图文件的操作
我们采用文本文档储存地图文件,在地图文件中,以不同的字符代表不同的物品,如1代表墙壁等。在地图文件的首位添加一些控制信息,如添加总的游戏关数,以及初始状态人物位置等。在程序中用相关函数读取文本文档中的内容,选择性的将地图文件储存在程序中的某个数组中,对地图的操作,就变成了对这个地图数组的操作。
对游戏中人物以及箱子的操作也变成了数组中相应数据的变化。
图形的绘制
将地图数据文件储存到了地图数组中,怎样将这些地图数据反映在界面上,就是图形的绘制。我们采用C#中原有的函数绘制相应的图形,因为在每移动一次都需要绘制图形,所以将图形的绘制写成一个函数,方便以后对这个函数的调用。
键盘消息以及响应判断
在绘制好了图形后,需要判断键盘的按键,并对这个事件进行响应,首先需要捕捉键盘的按键,并定义这个事件的含义,判断按下这个按键后应该做出什么反应,以及判断是否胜利,这些在后面的具体设计中有描述。
帮助以及关于
帮助
上下移动按键我们采用游戏中经常用到的W、S、A、D键,以及重新玩本关我们使用P键,这些按键必须向玩家说明,这就是帮助需要实现的功能,当然为了方便操作,我们加上了快捷键F1.
关于
关于功能包含了游戏版本信息、时间以及反馈方式。
声音效果
一个好的游戏声音效果是必不可少的,我们在游戏中添加了三种声音效果,分别是小人走路的声音、撞墙和推不动的声音以及胜利的声音。设置声音的有无通过一个全局变量实现,并在菜单栏中增加控制声音有无的选项。
游戏关键技术
此部分包含推箱子游戏中的一些关键技术以及细节。
地图文件
为了程序的扩展,我们采用txt格式的文档作为关卡地图文件。先用string s = (path)将txt文档中的信息读入储存在string s内,然后再用字符数组string[] sa = ('\n')以换行符\n将文件信息分开。这样我们就可以很简单地通过txt文档中各行的信息控制推箱子游戏程序了。分别以0代表空地,1代表箱子,2代表墙壁,3代表小人,4代表目的地放在map[]地图数组内。同时以flag[]小旗数组

P2P推箱子结题论文 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数15
  • 收藏数0 收藏
  • 顶次数0
  • 上传人mkjafow
  • 文件大小366 KB
  • 时间2018-02-21