win8 开发之旅(6) 五子棋游戏开发

   上节,对实体类进行了较多篇幅的分析,这节我们来阐述两个代理类applicationProxy 类与PieceboardProxy类的内部或者外部的知识。

   首先要搞清楚这个问题吧!!!!!!!!为什么需要代理类型。 这是为了更好的使用代理模式。代理模式是什么东东?他有什么作用。

  百度百科上对代理模式解释这么样的。代理模式为其他对象提供一个代理以控制对这个对象的访问。   就是在内存中

创建了一个代理对象,来控制其他的类对相应这个对象的访问。我们这里举个例子吧!最明显的体现就是webservice技术 。当程序员访问网络上一台计算机的资源时,我们正在跨越网

络障碍,跨越网络障碍有时候是非常复杂,因为要确保数据安全可靠地传输。如果真的要我们都去解决那些复杂网络问题,那么我估计程序员们疯了。还好代理模式(Proxy)帮我们

解决了其中的一些问题----WebService技术。  

     你会提醒我,跑偏了。 好,言归正卷。    革命是意义, applicationProxy类是对程序进行代理的类,PieceboardProxy类是对棋盘代理的类 

   我们瞧一瞧他们两究竟有什么了。

      先看applicationProxy类吧!他是啥摸样了  他里面应该是有效的监听这棋子数目的变化,为什么要监听棋子变化,我有这几个目的,目的一 我要看 是否是下满整个棋盘,

 显然,用这个类来监听。目的二,为什么白子下了,黑子又下。这是由于监听白子比黑子多一结果。   他有那几个属性了,有白子的数目,黑子的数目,以及总数目。

这些数目最好是用数据字典保存起来。 有一个更新的方法,重置的方法和更新棋子的方法。那为什么他来监听棋子变化,因为这是贯穿整个程序的,所以非她莫属。

            再看看PieceboardProxy类吧!    这是今天的重头戏了,  这主要是计算棋盘上如何走位,怎么是胜利的方法。 那里面结构如何。

   ①要向棋盘上添加棋子,因此有了个添加棋子的方法。怎么判断这个地方是否能够添加,难道我这个地方,被别人占了,也能添加,岂有此理。因此有个判断这个位置

是否为空的方法。

    ②五子棋,五子棋,也称连连棋。我这里有一个判断他在垂直、水平和斜线方向判断是否相连成5个方法。具体哪么做,就是扫描是否相连为5个

     ③最后,有一个对棋盘进行清空的方法。

  好,这节我就介绍在这,但愿能够大家带来帮助。

开源地址:http://51aspx.com/Code/win8Gobang

原文地址:https://www.cnblogs.com/manuosex/p/2715855.html