V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
mythjava
V2EX  ›  分享创造

多人数独游戏:卷土重来

  •  
  •   mythjava · 2021-03-19 15:23:21 +08:00 · 3681 次点击
    这是一个创建于 1105 天前的主题,其中的信息可能已经有所发展或是发生改变。

    [https://www.v2ex.com/t/747319]

    这是之前的帖子

    其实也没有做什么升级,只是将原来了 leancloud 换成了 腾讯云 腾讯云的云函数+云数据库还是便宜一点的...

    还有改我棋盘的骚操作真的不知道怎么防御,希望大家做一个普通人

    [https://github.com/myth984/sudoku]

    第 1 条附言  ·  2021-03-19 16:14:42 +08:00
    第 2 条附言  ·  2021-03-19 16:39:59 +08:00
    激动的心 颤抖的手 终于有人完成了

    16:39 玩家[爹] 和 玩家[x] 共同完成了最后一步(因为我没设置锁,所以是共同完成的= =)
    第 3 条附言  ·  2021-03-23 17:33:07 +08:00

    image.png

    因为没找到白嫖webscoket方案,所以现在数据库是用的最省钱的方案

    看大家挺喜欢玩的,又续费了50,应该可以再坚持一阵子。。。

    34 条回复    2021-03-22 15:31:11 +08:00
    sapphires
        1
    sapphires  
       2021-03-19 15:44:37 +08:00
    数独怎么出 10 了,lz 快来改 bug
    ParfoisMeng
        2
    ParfoisMeng  
       2021-03-19 15:45:04 +08:00
    右侧动态默认置底吧。。
    marcong95
        3
    marcong95  
       2021-03-19 15:45:26 +08:00
    10 都出来了,我记得 LeanCloud 的那种云数据库不是可以设 ACL 的吗?你把题板的权限改高不就好了么
    OaO
        4
    OaO  
       2021-03-19 15:49:53 +08:00
    对恶意侵入的孤儿报以最恶毒的话语= =全 8 了
    mythjava
        5
    mythjava  
    OP
       2021-03-19 15:50:29 +08:00
    我真的服了!!!!!!!!!
    sapphires
        6
    sapphires  
       2021-03-19 15:50:46 +08:00
    弃疗了 ![Snipaste_2021-03-19_15-49-38.png]( https://i.loli.net/2021/03/19/UEAVPM7iCw4In3J.png)
    mythjava
        7
    mythjava  
    OP
       2021-03-19 15:52:22 +08:00
    @marcong95 已经不用 LeanCloud 了。。。。。
    pkookp8
        8
    pkookp8  
       2021-03-19 15:57:32 +08:00 via Android
    哈哈哈哈,感受到了楼主的无奈
    mythjava
        9
    mythjava  
    OP
       2021-03-19 15:58:41 +08:00
    @ParfoisMeng 明白!
    marcong95
        10
    marcong95  
       2021-03-19 16:00:51 +08:00   ❤️ 1
    @mythjava #7 我只用过 LeanCloud,不是很清楚腾讯云那边的情况,你可以找找看有没有对应的功能。

    LeanCloud 印象中至少还能免费开着玩,腾讯云的云数据库好像只要一开就要收费了
    mythjava
        11
    mythjava  
    OP
       2021-03-19 16:02:01 +08:00
    @marcong95 是的 LeanCloud 活动用户过了 300 就开始收费了 而且好像还有低消,所以搞到腾讯云了
    zzzhen
        12
    zzzhen  
       2021-03-19 16:06:27 +08:00
    哈啊哈哈啊哈哈
    nightcatsama
        13
    nightcatsama  
       2021-03-19 16:13:31 +08:00
    都上班摸鱼吗,那我也分享一下自己写的无聊游戏的
    桌游达芬奇密码线上版本,不知道有没有朋友玩过 =。=
    首页 https://nightcat.win/davinci/
    进入我的房间 battle 一把 https://nightcat.win/davinci/?roomId=2333
    sangleft
        14
    sangleft  
       2021-03-19 16:13:32 +08:00
    楼主哈哈哈哈,可以分房间试试。
    chionetw5
        15
    chionetw5  
       2021-03-19 16:14:50 +08:00
    右边聊天框调成自动下拉吧
    ParfoisMeng
        16
    ParfoisMeng  
       2021-03-19 16:15:16 +08:00
    有些 lowB 自己一辈子都是 Loser,所以就喜欢给别人搞破坏,以此来获得可怜的慰藉。
    mythjava
        17
    mythjava  
    OP
       2021-03-19 16:15:26 +08:00
    @nightcatsama 来了
    nightcatsama
        18
    nightcatsama  
       2021-03-19 16:17:59 +08:00
    @mythjava 房间炸了,有人进来开始游戏又退出了 =。= 你建个房然后发个链接,我们来一把
    mythjava
        19
    mythjava  
    OP
       2021-03-19 16:23:08 +08:00
    @nightcatsama 那个人就是我。。。我不太会玩。。。抱歉
    nightcatsama
        20
    nightcatsama  
       2021-03-19 16:27:41 +08:00
    @mythjava 没事哈哈,数独我也喜欢玩。 可以后端加个校验,就不怕别人捣乱了
    nightcatsama
        21
    nightcatsama  
       2021-03-19 16:31:34 +08:00
    imdong
        22
    imdong  
       2021-03-19 17:03:02 +08:00
    其实我有几个疑问,为什么每次提交都要提交完整的棋盘?

    如果有使用数据库,那是不是只需要改啥提交啥?

    云函数的话,可以对数据进行验证,限制数据内容与位置吧?

    如果服务器不做保存,那么可以考虑以下办法

    实在不行,可以交给其他客户端进行验证,比如 A 提交了 异常的数据,BCDEF 用户收到以后,本地验证不正确,就主动延迟 随机时间后,提交更新(如果收到更新则取消延迟,避免并发修改).

    这样,除非只有一个人,否则这边修改了,其他用户就会主动修改回来.

    至于改原始棋盘,将原始棋盘数据与服务器保密的 token 做 hash 后给客户端,每次客户端提交都要带上这个 hash

    这样,服务端只要验证 原始棋盘的 hash 是否正确就可以了,客户端由于不知道 token 则无法伪造 hash.
    mythjava
        23
    mythjava  
    OP
       2021-03-19 17:22:48 +08:00
    @imdong
    其实我有几个疑问,为什么每次提交都要提交完整的棋盘?
    a:这个我就不清楚了 我记得是只有重来的时候 是提交完整的棋盘

    如果有使用数据库,那是不是只需要改啥提交啥?
    a:我记得我是这么搞的

    云函数的话,可以对数据进行验证,限制数据内容与位置吧?
    a:我用的比较咋,棋盘用的是腾讯云 cloudbase,聊天用的腾讯云函数,后续可以考虑统一

    万分感谢,提出解决方案,感谢感谢
    kiracyan
        24
    kiracyan  
       2021-03-19 17:26:32 +08:00
    人多就乱
    ignor
        25
    ignor  
       2021-03-19 17:46:05 +08:00 via Android
    等一个人心不古[doge]
    Raven316
        26
    Raven316  
       2021-03-19 17:51:18 +08:00
    随便选择一个数字,在格子上瞎点,最后居然过了?👍
    mythjava
        27
    mythjava  
    OP
       2021-03-19 18:47:58 +08:00
    @ignor 人心不古阶段已经过了 现在网友们都在好好玩
    silencelixing
        28
    silencelixing  
       2021-03-19 20:40:32 +08:00
    chocovon
        29
    chocovon  
       2021-03-19 21:48:06 +08:00
    挺好,没有什么影响体验的操作限制,似乎也没有恶意用户出现?看来还是人间自有真情在啊哈哈
    Edwards
        30
    Edwards  
       2021-03-20 14:54:00 +08:00
    有个老哥自闭了
    AkashicRecords
        31
    AkashicRecords  
       2021-03-21 20:44:06 +08:00
    @nightcatsama 做得很棒啊!
    guangming3055
        32
    guangming3055  
       2021-03-21 21:32:22 +08:00 via Android
    试了一下,挺好玩,需要预选功能,不然后面就弄不清楚了,对了,实时在线人数也安排一下
    chenyu8674
        33
    chenyu8674  
       2021-03-22 13:59:16 +08:00
    试了一把不是唯一解啊,瞎填都能过
    mythjava
        34
    mythjava  
    OP
       2021-03-22 15:31:11 +08:00
    @chenyu8674 是的 我认为数独就不应该是唯一解,我理解的可能有偏差
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2021 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 16:17 · PVG 00:17 · LAX 09:17 · JFK 12:17
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.