足球战术->组合进攻之composite篇

    技术2022-05-11  148

    接上回:

    http://www.csdn.net/develop/read_article.asp?id=11120

    最有效的进攻方法是几个球员组合成composite来进攻,这个composite又可以和其他球员和composite组合成新的composite,如此递归...Composite模式简化了教练(client)的指挥,因为他不用考虑某个进攻模块是单个队员还是composite,而且也容易在原战术上加入新增加的队员或composite,但是使用起来会出现你不希望某个进攻组合中有某个队员或组合时,你无法限制他们,只有在比赛进行中灵活运用。代码如下:class 组合;

    class 组件{public:    virtual 组合* 得到组合(){return 0;}};

    class 组合:public 组件{public:    void 添加(组件*);    virtual 组合* 得到组合(){return this;}};

    class 队员:public 组件{};

    组合* a组合=new 组合;队员* a队员=new 队员;

    组件* a组件;组合* test;

    a组件=a组合;if(test=a组件->得到组合()){   test->添加(new 队员);}

    a组件=a队员;

    if(test=a组件->得到组合()){   test->添加(new 队员);}

    注:组件为一个组合或队员。

     


    最新回复(0)