我拥有并开发了一个文本浏览器在线MMORPG,我计划推出一个至少有20多个额外津贴的特殊系统,这些公园基本上都会调整一些东西,比如给你购买的东西提供5%的折扣,或者一个额外的机会,你可以使你的敌人获得10%的机会,或者通过一个小因素增加你的健康。这些公园将被编码在不同的页面中,例如折扣额外费用需要在一个名为(shop.php)其他人需要在不同的页面编码
存在的问题是这不是集中的。这些将是遍布不同页面的代码块,如果我们想删除它们,那将是地狱。我想知道是否有办法集中所有这些。在我的头顶,我们将有一个特权表,其中包括所有津贴..无论如何要集中这样的东西?什么是在代码中集中调整的最佳方法?
作为一个简单的例子,增加你机会的额外费用可以在attack.php
中完成$chance = BattlePvP($player_id);
if(PerkEquipped($player_id, "INCREASECHANCE")) $chance += $perk_increase;
这些将分散在整个代码中。所以问题是如何在不同页面的代码中集中条件调整?
答案 0 :(得分:0)
你在基类(或直接玩家)上有一个方法,比如modifyChance(chance)
检查是否配备了perk,如果有,则返回增加的机会,否则返回传入的机会值。
上面的代码因此变成:
$chance = modifyChance(BattlePvP($player_id));
答案 1 :(得分:0)
您可以使用装饰器图案。装饰器通常用于装饰物体,例如披萨可以具有许多不同的顶部。