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来重构,恳请大家谅解,

        并给我意见。

  • 相关阅读:
    11月2号
    2020.9.22 (Java测试)
    2020.8.30 + 每周周报(8)
    2020.8.31
    2020.8.29
    2020.9.23
    伪分布式hbase从0.94.11版本升级stable的1.4.9版本
    python 将列表(也可以是file.readlines())输出多个文件
    hbase0.94.11版本和hbase1.4.9版本的benchamark区别
    idea 配置
  • 原文地址:https://www.cnblogs.com/manuosex/p/2714834.html
Copyright © 2011-2022 走看看