足球战术->全攻全守之visitor篇

王朝java/jsp·作者佚名  2006-01-08
宽屏版  字体: |||超大  

接上回:

http://www.csdn.net/develop/article/11/11283.shtm

采用全攻全守的打法,使用visitor模式,

每个队员是一个visitor,每个位置是一个

node,好处是每加一个新的队员,就增加

一种新的进攻或防守方法,每个队员集中

了他的优点和相关的打法,分离了其他打法

到其他队员身上。但是位置已经定死,增加

新位置比较困难。通过全场的位置结构和队

员特性(类层次)进行访问。当某个队员跑到

某个位置时,他的操作会作为累积状态影响

其他队员的操作。由于全攻全守要求每个位置

的队员的能力都很强,所以往往会造成主力前锋

必须要有当中后卫能力之类的混乱局面,也就是

node要给visitor提供访问其内部状态的公共操作,

破坏了封装性:)

代码如下:

class 队员{

public:

virtual void 访问前锋位置(前锋位置*);

virtual void 访问后卫位置(后卫位置*);

//...访问其它位置的方法

protected:

队员();

};

class 位置{

public:

virtual ~位置();

virtual void 接受(队员&)=0;

protected:

位置();

};

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有