V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
svt
V2EX  ›  问与答

开发中遇到的小问题

  •  
  •   svt · 2019-03-18 11:00:56 +08:00 · 1225 次点击
    这是一个创建于 1837 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近组长准备让我给我们 app 里嵌入一个小游戏模块。之前没做过所以觉得有些地方不知道如何下手。 如:1.游戏玩家的体力值这种东西应该存储在 redis 还是 mysql ?个人感觉 redis 足够了,因为每半个小时加一点,如果有一万个用户的话,用 mysql 会对数据库频繁操作,觉得 mysql 吃不住劲儿。而且这种东西也不用查日志,是吧。 2.还有就是队伍里每个成员可以种树,要求是一人一个坑,每天种满就可以得到奖励。 3.一个用户种完树,其他队友可以去帮助他 ,一个人一个小时对同一个队友只可以帮一下。每个人一天最多帮 15 下。 4.同时一个用户种完树了之后,队友看他的树的时候,可以收集能量。

    这几个不知道用什么方法实现比较好了,不知道万能的 v 友有没有什么建议?
    
    10 条回复    2019-03-19 17:34:29 +08:00
    svt
        1
    svt  
    OP
       2019-03-18 11:10:10 +08:00
    呃呃呃,自顶
    svt
        2
    svt  
    OP
       2019-03-18 11:41:26 +08:00
    啊啊啊啊,求大佬啊
    jifengg
        3
    jifengg  
       2019-03-18 11:52:19 +08:00   ❤️ 1
    1.体力值,如果只有自己能看到,比较好的办法是,查的时候才去算当前有多少体力值。比如现在是 3 体力,退出游戏了,48 小时后再登录,那时候你才去算他过了这 48 小时究竟可以获得多少体力,不用每半小时后台给他加一点。

    2,3,4 都是具体的游戏逻辑了。
    LowBi
        4
    LowBi  
       2019-03-18 11:53:02 +08:00
    不会帮顶
    svt
        5
    svt  
    OP
       2019-03-18 14:34:35 +08:00
    @jifengg 嗯嗯,你说的对,那样在用户离线期间就不用给他的体力值增加了,对,节省了一部分的资源,厉害厉害!!不过他还要求用户上线后,体力值要实时显示在用户界面,有点难为人。
    svt
        6
    svt  
    OP
       2019-03-18 14:35:02 +08:00
    @jifengg 感觉应该找个专门做游戏的人问问
    svt
        7
    svt  
    OP
       2019-03-18 16:05:49 +08:00
    顶顶顶
    jifengg
        8
    jifengg  
       2019-03-19 09:24:21 +08:00
    @svt 体力值实时显示这不是为难人,你想你玩游戏的时候体力值难道不应该实时显示?关键是,你要怎么去实现这个“实时”,因为你说的是 30 分钟恢复一点,那么你前端间隔个 15~30 分钟去后端查询一下体力值就行了。
    svt
        9
    svt  
    OP
       2019-03-19 10:42:55 +08:00
    @jifengg 嗯嗯,就是说这个实时显示让前端来做吗?我这里只是他每次访问的时候给他一下?
    jifengg
        10
    jifengg  
       2019-03-19 17:34:29 +08:00
    @svt 对。小程序嘛,简单能实现就行
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   983 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 20:29 · PVG 04:29 · LAX 13:29 · JFK 16:29
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.