试写游戏中金币系统解决方案

游戏中的游戏币系统很重要。这会影响游戏的整体运行平衡,甚至影响游戏的生命周期长度。

公式:

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,可以用玩家用户名与服务器进行游戏付费效验。

一、需求分析 本系统是一个吃金币游戏系统,玩家需要通过操作角色来吃到金币并累积分数。需要实现的功能包括: 1. 角色移动控制 2. 金币生成和位置控制 3. 角色吃金币并计分 4. 游戏结束判定和分数统计 二、系统架构设计系统采用MVC架构,将游戏分为三个模块:模型层、视图层和控制层。 1. 模型层:负责游戏逻辑的实现,包括金币的生成和位置控制、角色的移动和金币的吃取、游戏结束判定和分数统计等。 2. 视图层:负责展示游戏画面,包括背景、角色和金币等。 3. 控制层:负责接收玩家的操作指令,控制角色的移动和吃金币等。 三、数据库设计系统不需要使用数据库。 四、游戏逻辑设计 1. 角色移动控制:玩家可以通过方向键或鼠标控制角色的移动,角色移动的速度可以通过设定控制。 2. 金币生成和位置控制:在游戏开始时,随机生成若干个金币并分别放置在不同的位置上。 3. 角色吃金币并计分:当角色接触到金币时,金币将被吃掉,同时计分器加一。 4. 游戏结束判定和分数统计:当角色与敌人碰撞或者时间用完时,游戏结束,统计玩家的得分。 五、技术选型 本系统采用HTML5+CSS3+JavaScript实现,JavaScript库使用Phaser.js。 六、界面设计 1. 游戏开始界面:包括游戏标题、开始按钮、游戏说明等。 2. 游戏主界面:包括游戏画面、计分器、时间计时器等。 3. 游戏结束界面:包括游戏结束提示、得分统计、重新开始按钮等。 七、开发流程 1. 确定需求和系统架构设计。 2. 进行数据库设计游戏逻辑设计。 3. 进行技术选型和界面设计。 4. 进行编码和测试。 5. 完成上线部署和维护。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值