zoukankan      html  css  js  c++  java
  • win8 开发之旅(4) 五子棋游戏开发 面向对象的分析

        上节说到剖析五子棋的任务从这节开始,那确实。

         其实,这节的任务很简单,就是 以完全面向对象的思想来分析这个小游戏。  

         对于面向对象,对于开发人员,一定不再陌生,这里就不再赘述。

          那他需要哪些类了。 

            一个黑棋子,一个白棋子,他是不是有许多的属性 是一样的,因此我们这里抽象出一个piece 包含位置,类型等等属性

            这些棋子在哪玩,是不是棋盘上。因此,我们需要棋盘类(pieceboard)类来体现所谓的棋盘。

            怎么来存储相应五子棋的结果了,因此我们需要winningResult类存储相应结果。              

           你会问我怎么来控制游戏开展的,我这里是基于mvc的思想

           我这里是一个通过一个比如PieceMediator 来监听PieceProxy 变化,而PieceProxy 监上面的Piece的变化。最终的当家是ApplicationFacede组织所有监听者的变化。

           对啊,我真的忘了,上节说到了ai,我要介绍ai部分,一个ai类组织了  相应人工智能的算法。

          而ai需要一个Rule类, 判断相应的水平,竖直方向,斜线方向是否是相连。

           那我再看相应的类图的架构:

                你还会问我,我介绍非常的笼统。   那个PieceType,WinningType 是枚举的  为什么需要xxcomponent 这相当于  view 层,对于相应的model层,

              通过pages把xxcomponent   串联起来。    这样就能玩了哟

               当然,这还不是纯粹的mvc的思想,在xxMediator 类 还要需要 访问跨页面的调用相应控件。 最好的方法是利用mvvm来重构,恳请大家谅解,

        并给我意见。

  • 相关阅读:
    查看电脑保存的wifi密码
    数据仓库
    nodejs 中国汉字模糊查询简单(很low)实现
    nodejs express 框架 上传文件
    async样例
    mongodb Map/reduce测试代码
    未释放资源的教训,开发MongoDB连接一定要关闭连接
    采集系统优化:大家接手过的最烂的项目,最坑爹的项目是哪个?
    Android的HttpClient调用,冲突的解决办法
    MongoDBcrud操作,采集部分代码
  • 原文地址:https://www.cnblogs.com/manuosex/p/2714834.html
Copyright © 2011-2022 走看看