单刀赴会之prototype篇
时间:2024-10-20 来源: 作者: 我要纠错
<p style=line-height: 150%>接上回:<p style=line-height: 150%><A href="http://www.csdn***/Develop/read_article.asp?id=11949">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);
}
标签: