- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
 - 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
 - 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
 - 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
 - 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
 - 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
 - 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
 
                        查看更多
                        
                    
                综合举例 大富翁游戏:有一个人类玩家和多个电脑玩家在地图上移动,移动后根据所在地的不同,可以买地、盖房、交费等操纵。玩家的钱为0,则出局,剩余的玩家继续玩,直至某个人类玩家成为最终玩家,或者剩余玩家全部为电脑玩家。移动的步数通过掷骰子决定;地图中的道路有多种块组成;房子有多种; 游戏的变化 模型部分 地图的改变 地块种类的增加 房子种类的增加 骰子个数的动态改变 玩家种类的细分 … 视图部分 显示风格和素材的变化 UI交互的变化 引擎的变化 … 平台间的移植  Model与View Game包括Model和View Model中有多个类,View中只有一个屏幕界面 Model和View的交互 应用中介者和MVC模式 Game可与Control合并; Game可使用单件模式,View也可以; Game  public class Game     {         private static Game instance = new Game();         private ListModelElement model;         private View view;          private Game() { }          public static Game GetInstance()         {             return instance;         }                          public bool Init()         {         }         public bool Run()         {         }         public bool Term()         {         }         //其它操作     }  View部分 负责界面显示 负责与玩家的交互 主要循环结构: Process与UpdateView的原始编码 public void ProcessInput()         {             if (scene == 1) {                 int key = GetKeyBoard();                 if (key == A ) {                     //do ....                 } else if (key == MOUSE_CLICK ) {                     //do ....                 } else {                     //do ....                 }                              }else if (scene == 2) {                 int key = GetKeyBoard();                 if (key == D ) {                     //do ....                 } else if (key == MOUSE_CLICK ) {                     //do ....                 } else {                     //do ....                 }             } else  {             }         }  用模式改进View 模版方法模式 使用策略模式 使用状态模式 使用模版方法模式 场景数量有限,可以; 易增加新的场景; 场景的切换,不易实现 使用策略模式 基本上与应用模版方法模式,有类似的效果 不足:场景切换 应用状态模式 续 使用状态模式可以达到类似的效果 场景的切换 对应于 状态的转换 本游戏中状态的转换,需要有三个因素:    前一个状态,当前状态,当前的操作。 可见:一个场景不可能进行自动的切换 选择:外部控制状态转换方法实现,如使用有限状态机 View与DX的交互 DirectX的多个版本支持 OpenGL的支持 第三方引擎的支持 简化维护的考虑 View修改Model的请求  public void ProcessInput()         { 		   if (scene == 1) {                  DoChange1(ModelElement2 ele);                  DoChange2(ModelElement1 ele);             }el
                您可能关注的文档
最近下载
- 第五单元第1课《多变的镜头》课件 2024—2025学年人美版(2024)初中美术七年级上册+.pptx VIP
 - 四川省2025年高职单招文化考试(中职类)语文试卷+答案 .pdf VIP
 - 【议题式】第五课 在和睦家庭中成长 课件 -2026新高考思想政治一轮复习.pptx VIP
 - 施工应急预案应急反应预案.docx VIP
 - 机械设备销售代理授权委托协议书(1范本).docx VIP
 - 高考语文作文纸3栏(电子版可打印)A3.pdf
 - 幼儿园科普知识章鱼课件.pptx VIP
 - 统编版二年级语文上册单元作文能力提升第1单元:有趣的动物(素材积累).docx VIP
 - 部编版语文九年级下册《诗词曲五首 山坡羊潼关怀古》课件.pptx VIP
 - ICH指导原则文件目录(中英文) .pdf VIP
 
原创力文档
                        

文档评论(0)