足球戰術->全攻全守之visitor篇 (轉)
足球戰術->全攻全守之visitor篇 (轉)[@more@]
接上回:
/develop/article/11/11283.shtm">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:
位置();
};
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-990267/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 足球戰術之Builder篇 (轉)UI
- 足球戰術之adapter篇 (轉)APT
- 足球戰術之observer及memento篇 (轉)Server
- 足球戰術->單刀赴會之prototype篇 (轉)
- 足球戰術->組合進攻之composite篇 (轉)
- DirectShow之介面實戰篇(一) (轉)
- DirectShow之介面實戰篇(二) (轉)
- DirectShow之介面實戰篇(三) (轉)
- Visitor Pattern Introduction (轉)
- 足球黑科技之AI與足球智慧分析AI
- JBuilder9.0+Weblogic7.0實戰篇之Session Bean篇 (轉)UIWebSessionBean
- JBuilder9+Weblogic7實戰篇之工具篇(JDK) (轉)UIWebJDK
- laravel佇列之Supervisor守護程式(centos篇)Laravel佇列CentOS
- 玩轉 Codeigniter 框架 二 守護程式篇框架
- 騰訊 、 網易的足球遊戲大戰遊戲
- JBuilder9+Weblogic7實戰篇之工具篇(Weblogic) (轉)UIWeb
- JBuilder9+Weblogic7實戰篇之Filter運用篇 (轉)UIWebFilter
- JBuilder9+Weblogic7實戰篇之工具篇(JDBC 2) (轉)UIWebJDBC
- JBuilder9+Weblogic7實戰篇之工具篇(JDBC 1) (轉)UIWebJDBC
- 實況足球戰略版《實況球會經理》今日全平臺公測!
- 【GNU/Linux實戰手記之Emacs篇 上】 (轉)LinuxMac
- GNU/Linux實戰手記之基本操作篇 (轉)Linux
- .Net微服務實戰之技術架構分層篇微服務架構
- 淺談RASP技術攻防之實戰[環境配置篇]
- 解讀分散式防火牆之――技術篇(轉)分散式防火牆
- JBuilder9.0+Weblogic7.0實戰篇之JSP+SERVLET篇 (轉)UIWebJSServlet
- JBuilder9+Weblogic7實戰篇之JSP使用JDBC篇 (轉)UIWebJSJDBC
- 機器學習實戰之開篇機器學習
- 淺談RASP技術攻防之實戰[程式碼實現篇]
- 【GNU/Linux實戰手記之安裝配置篇】 (轉)Linux
- 守衛者的挑戰
- Java多執行緒之守護執行緒實戰Java執行緒
- JBuilder9+Weblogic7實戰篇之Entity Bean運用篇(一) (轉)UIWebBean
- Java Tip: 用Reflection實現Visitor模式 (轉)Java模式
- 設計模式、用Delphi描述-->Visitor模式 (轉)設計模式
- Java 8 Stream之實戰篇Java
- Ant實戰篇 (一)(3) (轉)
- Ant實戰篇 (一)(4) (轉)