單刀赴會之prototype篇
時間:2024-10-20 來源: 作者: 我要糾錯
<p style=line-height: 150%>接上回:<p style=line-height: 150%><A >http://www.csdn***/Develop/read_article.asp?id=11949</A><p style=line-height: 150%>使用prototype模式,用其他隊員牽制
對手的注意力,然后帶球隊員通過個人
技術甩脫對方的防守,單刀赴會得分
(clone)。就像皇馬在西甲半程時齊達內
進的那個球。好處是在進攻進行時決定
是否射門或改用其他方法;動態控制
射門;改用不同球員來變化射門方式;
減少進攻需要的隊員數;動態換人
改變進攻來改變戰術。缺點是:需要
每個隊員都有單刀赴會的能力,實現
起來比較困難:)
代碼如下:<p style=line-height: 150%>class 牽制隊員:public 隊員{
public:
牽制隊員(中路*,左路*,右路*);<p style=line-height: 150%> virtual 兩路* 中路包抄 const;
virtual 右路* 左路包抄 const;
virtual 左路* 右路包抄 const;
private:
兩路* _中路包抄原型;
右路* _左路包抄原型;
左路* _右路包抄原型;
};<p style=line-height: 150%>左路* 牽制隊員::右路包抄 const{
return _右路包抄原型->左路單刀;
}<p style=line-height: 150%>class 左路帶球隊員:public 帶球隊員{
public:
帶球隊員();<p style=line-height: 150%> virtual void 啟動();
virtual 左路* 左路單刀 const;
private:
/*...自己特性*/
};<p style=line-height: 150%>左路* 左路帶球隊員::左路單刀() const{
return new 左路(*this);
}
標簽: