首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

php设计模式之组合模式实例详解【星际争霸游戏案例】

我们在选择玩哪张地图的时候,可以看到游戏列出当前地图包里面的地图或地图包的名字。 虽然地图和地图包是通过文件和文件夹区分的,但是我们开发的时候,总希望能使用对象来进行抽象。...那么对于地图和地图包这两个相关的对象,我们能不能简化他们之间的区别呢? 待解决的问题:尽量是调用这两种对象的代码一致,也就是说很多场合不必区分到底是地图还是地图包。...思路:我们做一个抽象类,让地图类和地图包类继承它,这样类的很多方法的名称一样。 组合(Composite)模式示例: <?...function __construct($name) { $this- name = $name; } //地图或地图包的名称,地图对象没有子对象,所以用空函数...用途总结:组合模式可以对容器和物体(这里的地图包和地图)统一处理,其他代码处理这些对象的时候,不必过于追究谁是容器,谁是物体。

41610
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    人工智能开始玩《星际争霸2》 我们对它的研究环境进行了测试

    (3)下载完毕可以运行游戏就OK (4)下载地图包,迷你游戏和重播:Blizzard / s2client-proto,https://github.com/deepmind/pysc2/releases.../download/v1.0/mini_games.zip (5)进入星际争霸2的目录 (6)创建地图文件夹 (7)将地图包和小游戏压缩包都解压到地图目录下,密码是iagreetotheeula (8)...Ubuntu的环境下安装 (1)安装pysc2(和Mac相同) sudo pip安装pysc2 (2)下载Linux版本的星际2:Blizzard / s2client-proto并解压在首页目录下,解压密码...下面为两个不同地图的示意图: Linux的下没有原始游戏画面。 ? ?...跨平台支持,特别是对Linux的平台的支持,非常方便广大深度学习开发者的使用。 提供Replay数据库及Replay接口,为进行模仿学习的研究提供了极大的方便。 提供了迷你游戏,方便大家从简单入手。

    1.1K50
    领券