php - 如何将代码中的条件调整集中到不同页面上?

标签 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;

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

最佳答案

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

上面的代码就变成了:

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

关于php - 如何将代码中的条件调整集中到不同页面上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25948825/

相关文章:

php - 永久的PHP套接字服务器

mysql - 如何连接 2 个明细表 - MySql

javascript - jQuery 拖放表行排序不起作用

sql - 我无法让这个 .sql 文件在 MySQL 中成功运行?

sql-server - 令人困惑的行为 - 使用向导创建的 SQL Server 信息架构和列

sql - 如何在 sql 查询中使用两个连接?句法

php - 在两个不同的 while 循环中添加数字

javascript - 每个 session 模态显示一次

php - 通过 php 使用 pdo 连接到 mysql

Mysql select on word(复数,单数)