文档文库
手机版
投诉建议
热门搜索:
心得体会
演讲稿
思想汇报
首页
心得体会
学习心得体会
培训心得体会
军训心得体会
社会实践
作风建设
工作心得体会
教育心得体会
演讲稿
演讲稿格式
演讲稿范文
竞聘演讲稿
师德演讲稿
三分钟演讲稿
思想汇报
思想汇报范文
转正思想汇报
大学生思想汇报
季度思想汇报
教师思想汇报
工作计划
工作计划格式
工作计划开头
工作计划结尾
总结与计划
工作计划模板
工作总结
年终工作总结
年度工作总结
个人工作总结
实习报告
实习报告范文
实习计划范文
实习鉴定范文
实习报告内容
个人简历
求职简历
简历范文
简历模板
简历表格
简历格式
祝福语
春节
除夕
元宵
端午节
合同范文
合同范本
合同样本
合同范本格式
首页
>
设计模式在游戏多人对战平台中的应用
设计模式在游戏多人对战平台中的应用
发布时间: 来源:
文档文库
小
中
大
字号:
手机查看
龙源期刊网
http://www.qikan.com.cn
设计模式在游戏多人对战平台中的应用
作者:楚王辉
宫一凡
陈
云
来源:《电脑知识与技术
·
学术交流》
2008
年第
26
期
摘要:文章以网络游戏对战平台为背景,介绍了设计模式在网络游戏中的应用。在传统的
面向过程或者面向对象的编程中,各个不同的角色从产生到销毁的全过程,主要使用数组或链
表或集合来进行控制,程序逻辑复杂而不易修改和扩展。该文引入了设计模式的概念,使得控
制游戏中各个角色的操作更加简便、更加富有逻辑性。该文对从事设计模式研究、游戏制作的
技术人员有一定帮助,实现代码采用微软的
C#
语言。
关键词:设计模式;网络游戏;
C#
中图分类号:
TP311
文献标识码:
A
文章编号:
1009-3044(200826-1620-03
TheAppliationoftheDesignPatterninOnlineGames
CHUWang-hui,GONGYi-fan,CHENYun
(ShenzhenInstituteofTechnology,Shenzhen518045,China
Abstract:Accordingtothebackgroundofthenetworkbattlegamesystembuilt,thepaper
introducestheApplicationofDesignPatterntechnologyinOnlineGames.Inthetraditional
programmingofprocess-orientedorobject-oriented,mainlyusethearrayorcollectionorchainto
controltheentireprocessfromgenerationtothedestructionofvariousroles.Thispaperintroducesthe
DesignPatterns.TheDesignPatterscancontrolsthevariousrolesmoreconvenient,morefulloflogic.
Thepaperisavailabilitytothemanwhoengagesontheprogrammingofgameortheresearchof
DesignPatterns.
Keywords:designpattern;onlinegames;C#
1
引言
在传统的面向对象或者面向过程的教学中,很多人都难于明白为什么要使用面向对象技
术,教师也只能按照书上的示例给大家生搬硬套的讲解面向对象,难以讲解清楚使用面向对象
技术的好处,在某些书籍的讲解示例中,用面向过程技术很快能实现的功能非要套上面向对象
的光环,使得学生很难理解面向对象技术的实际作用。此时,在国外很多计算机专家的努力
龙源期刊网
http://www.qikan.com.cn
下,总结出了很多成功应用面向对象的范例,并提出了设计模式的概念。在此背景下,本文阐
述了使用设计模式技术制作多人对战平台的方法,望能起到抛砖引玉之用。
2
系统设计
网络游戏设计的难点在于:每个游戏角色都需要知道在当前屏幕范围内存在多少个其他角
色,而其他角色可能是和登陆角色一样的游戏玩家,也可能是游戏当中的怪物或者其他剧情人
物。如下图所示:
由前面描述和上面的图形我们可以得出以下几点:
1
当角色新登入对战平台,此时,新登陆的角色应该能够知道屏幕中已经存在了哪些角
色,同时,屏幕中已经存在的角色也应该能够知道新登陆的角色的信息。
2
当角色退出系统时,屏幕中的所有其他角色都能够知道哪个角色退出了系统。
3
当角色产生了动作,如攻击、移动等,其他角色能够得知该角色的具体方位,和角色攻
击对自己产生的影响。
上面的需求类似于
.net
的
ui
框架设计,在
.net
窗体程序中,可以任意的在
Form
中添加文
本框
TextBox
,标签
Lable
,按钮
Button
,数据绑定控件
DataGrid
等。不管添加了哪种类型的
控件。
.net
框架都能够自知。并且,当单击了
Button
按钮时,
.net
框架能够感知事件的发生,
这和网络游戏当中当一个角色发动攻击时,其他角色能够感知攻击是一样的道理。基于以上分
析,查阅了
net
框架事件的实现,得知
.net
框架采用了委托来实现事件机制,而委托采用了设
计模式当中的
Observer
模式,于是,决定对
Observer
模式进行改进,实现多人网络对战。
4Observer
模式。
Observer
模式意图的描述是:
“
定义对象间的一种一对多依赖关系,使得每当一个对象改
变装态,则其相关依赖对象皆得到通知并自动更新。
”
在软件的构建过程中,我们常常要为一些对象建立一种通知依赖关系:当一个对象
(
Subject
)的状态发生改变或某一特定事件发生时,所有的依赖对象(
Observer
)都需要得到
通知。由于需求的变化,需要得到通知的
Observer
对象可能会发生变化,这时我们就需要使用
面向对象的设计方法来封装这种变化,使观察者和被观察者形成一种松散的耦合关系。
龙源期刊网
http://www.qikan.com.cn
基于
Observer
模式的描述,我们可以对其进行改进,实现网络游戏对战。具体描述如下:
每当一个角色登陆游戏服务器,即把该角色添加到屏幕中现存角色的依赖关系中,同时把屏幕
上的所有角色添加到登陆角色的依赖关系当中,这样就达到了多对多依赖的效果。
有了这种多对多的依赖关系,当其中一个角色状态发生改变时,就能够通知屏幕中现存的
所有对象,使其产生相应的动作。
当一个角色诞生的时候、我们使用
Add
(
Rolerole
)函数把它添加到屏幕集合中。
当角色发生事件、例如角色移动位置、发动攻击,则调用
NotifyRole(
函数通知所有其他
相关对象。
当角色消亡、调用
Remove
(
Rolerole
)函数把角色从屏幕集合中清除。
具体
UML
图如下所示。
3
具体实现
1
根据以上分析,建立
ScreenObject
类。
publicclassScreenObject{
privatestaticArrayList_list_Roles=newArrayList(;
publicstaticvoidAdd(IRolerole{//
实现添加角色到当前屏幕
_list_Roles.Add(role;}
publicstaticvoidRemove(IRolerole{//
实现从屏幕中移除角色
_list_Roles.Remove(role;}
publicstringGetState({returnnull;}//
获取角色状态
publicstringSetState({returnnull;}//
设置角色状态
publicvoidNotifyRole({//
通知所有角色
foreach(IRolerolein_list_Roles{
本文来源:
https://www.2haoxitong.net/k/doc/c4982e239f3143323968011ca300a6c30d22f1ef.html
《设计模式在游戏多人对战平台中的应用.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档
文档为doc格式
分享到:
相
关
案
例
2022年养老金调整方案
2024-04-27
部编版初中语文诗词
2024-04-27
《我是小小消防员》小学生优秀作文
2024-04-27
竞选组织委员发言稿10篇
2024-04-27
消防知识讲座心得听会
2024-04-27
《好奇号》读后感600字
2024-04-27
旅游达人高手教你如何玩转济州岛(景点攻略篇)
2024-04-27
描写教室静的句子
2024-04-27
星际交往:人类与外星人的接触之路
2024-04-27
人类如何看待外星人的存在?
2024-04-27
相关推荐
1
人教版五年级数学上册期末辅导练习题
2
初二作文:浮花若梦(一)
3
徐悲鸿 齐白石 张大千简介
4
最新的劳动合同法
5
人教版道德与法治二年级上册《第四单元 我们生活的地方 14.家乡物产养育我》教学设计_11
6
骨干教师初中生物第二次培训心得体会吴蓓
7
孙洪程版过程控制课后答案
8
高中语文作文十大技巧
9
爱心协会十二年感恩会发言稿
10
感恩的心主题班会主持词
推荐内容
【教育学习文章】在县委扩大会议上的讲话
再见,韩彦伊!_六年级作文
小学数学五年级下册第10册全册说课稿
关于一个人的说说
2020一个都不能少观后感5篇_观看电视剧一个都不能少有感
【师德演讲稿】师德师风演讲稿:三十五年大山路,痴心到老也无憾
教育精准扶贫方案
3000字土木工程实习总结归纳
龙湾区黑臭河排放口调查总结及整治方案课件资料
2019年国考职位表