win8 开发之旅(4) --五子棋游戏开发 面向对象的分析

  1. 云栖社区>
  2. 博客>
  3. 正文

win8 开发之旅(4) --五子棋游戏开发 面向对象的分析

laozhu1124 2016-04-15 14:18:32 浏览881

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

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

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

      那他需要哪些类了。 

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

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

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

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

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

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

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

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

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

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

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

    并给我意见。