游戏中的游戏币系统很重要。这会影响游戏的整体运行平衡,甚至影响游戏的生命周期长度。
公式:
1. 玩家拥有金币总数G,道具消耗金币数D,当前金币剩余L。
G = D + L; //消耗方面公式
2.玩家拥有金币总数G,通过游戏得到金币数C,货币充值金币数R。
G = C + L;//玩家游戏金币得到途径
------------------------
总体思路:
用消耗品的使用数据算得消耗金币数D,再加上记录的金币剩余数L,即:
D+L
应该等于玩家通过游戏得到的金币数C,再加上货币充值金币数R,即:
C+R
这两个应该相等。即:D + L = C +R;
通过在游戏开始时效验D+L和C+R是否相等。就可知道玩家是否修改过游戏中和金币有关的数据。
在保存游戏时,会保存通过游戏得到金币数。和充值次数。道具使用情况和数量,金币剩余数。并会在钥匙串中保存玩家的全部金币数。
运行情况:
A:金币总数G的保存和游戏重装
1.总数存入应用钥匙串中
2.当游戏重装后,给出所有金币。并清空消耗金币数。这个时候让
金币剩余数L = 金币总数G。
3.也可在游戏重装后访问游戏中心或者服务器得到道具使用情况,计算金币剩余数L和设置已购买道具消耗金币D。
B:游戏使用中保存游戏数据
1.只存剩余金币L和道具使用记录
2.在游戏开始时通过计算得到道具使用消耗金币D,通过读取文件系统得到金币剩余数L,通过读取应用钥匙串得到金币总数G,并通过以下公式效验保存在文件中的数据。
if( G == D + L){
//文件中的数据正确,正常进入游戏
}else{
//文件中的数据不正确
//这时把金币剩余数设置为金币总数G,并重置所有道具为未使用态。即:
L = G;
D = 0;
}
C:玩家用金币购买道具时
1.从剩余金币userGold中减去道具的金币价格,并在文件系统中记录道具使用情况。
2.道具使用情况可以每次进入游戏中心时,且在
金币总数G=道具消耗D+金币剩余L
效验过时,上传到游戏中心。方便重装游戏或者游戏开始时效验不过时进行道具使用恢复。如果有服务器道具使用情况也可上传到服务器。
D:金币的来源
金币总数G = 玩游戏得到C + 货币充值得到R;
玩游戏得到的金币C,会在得到金币时与本次游戏情况进行效验,如吃了多少只小鸡,打了多少个怪,等。如果是网络游戏,可以与失去游戏币的玩家进行效验。
充值得到的金币R,可以用玩家用户名与服务器进行游戏付费效验。