如何在不同页面的代码中集中条件调整?

时间:2014-09-20 12:36:09

标签: php mysql database mysqli game-engine

我拥有并开发了一个文本浏览器在线MMORPG,我计划推出一个至少有20多个额外津贴的特殊系统,这些公园基本上都会调整一些东西,比如给你购买的东西提供5%的折扣,或者一个额外的机会,你可以使你的敌人获得10%的机会,或者通过一个小因素增加你的健康。这些公园将被编码在不同的页面中,例如折扣额外费用需要在一个名为(shop.php)其他人需要在不同的页面编码

存在的问题是这不是集中的。这些将是遍布不同页面的代码块,如果我们想删除它们,那将是地狱。我想知道是否有办法集中所有这些。在我的头顶,我们将有一个特权表,其中包括所有津贴..无论如何要集中这样的东西?什么是在代码中集中调整的最佳方法?

作为一个简单的例子,增加你机会的额外费用可以在attack.php

中完成
$chance = BattlePvP($player_id);
if(PerkEquipped($player_id, "INCREASECHANCE")) $chance += $perk_increase;

这些将分散在整个代码中。所以问题是如何在不同页面的代码中集中条件调整?

2 个答案:

答案 0 :(得分:0)

你在基类(或直接玩家)上有一个方法,比如modifyChance(chance)检查是否配备了perk,如果有,则返回增加的机会,否则返回传入的机会值。

上面的代码因此变成:

$chance = modifyChance(BattlePvP($player_id));

答案 1 :(得分:0)

您可以使用装饰器图案。装饰器通常用于装饰物体,例如披萨可以具有许多不同的顶部。