突然想到一个很有意思的问题,俄罗斯方块有没有保证玩家输掉的出方块的策略 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
af463419014
V2EX    游戏

突然想到一个很有意思的问题,俄罗斯方块有没有保证玩家输掉的出方块的策略

  •  
  •   af463419014 2017-05-27 17:01:09 +08:00 3665 次点击
    这是一个创建于 3070 天前的主题,其中的信息可能已经有所发展或是发生改变。
    设计一个出方块的策略,让玩家必定输掉

    假设:
    0.游戏界面是 10*20 的大小(也可以考虑其他大小情况)
    2.玩家能看到下一个会出现的方块
    3.玩家有足够的时间进行计算,并将方块放到指定的位置
    4.假设玩家足够的聪明
    5.我们设计的服务器能看到玩家当前游戏界面的游戏情况,并根据当前界面的游戏情况进行计算,指定下下个方块将出什么(因为玩家能看到当前方块和下一个方块,所以服务器只能决定下下个方块)


    问题:
    0.能不能给服务器设计一种出方块的策略,保证玩家一定输掉游戏
    1.如果能,策略是什么,需要多少步
    2.如果不能,能证明为什么不能吗
    17 条回复    2017-05-31 16:58:13 +08:00
    nirvam
        1
    nirvam  
       2017-05-27 17:18:29 +08:00   1
    至少有一种:不停出 S 块和 Z 块
    https://en.wikipedia.org/wiki/Tetris#End_of_play
    Gerhman
        2
    Gerhman  
       2017-05-27 17:59:28 +08:00
    @nirvam S 块是什么样的
    sun1991
        4
    sun1991  
       2017-05-27 18:03:51 +08:00
    下落速度越来越快
    kolor
        5
    kolor  
       2017-05-27 18:03:58 +08:00
    口口口


    口口口

    @Gerhman 见过这种类型的方块吗
    kolor
        6
    kolor  
       2017-05-27 18:04:31 +08:00
    @kolor 咦,空格被自动缩进了
    Gerhman
        7
    Gerhman  
       2017-05-27 18:05:10 +08:00
    @kolor 没 但这是 C 型的啊
    hu6360567
        8
    hu6360567  
       2017-05-27 18:06:41 +08:00 via iPhone   1
    之前读过相关文章,在标准的俄罗斯方块中只有所有的都是田字方块是唯一已知无解的方案
    whileFalse
        9
    whileFalse  
       2017-05-27 21:54:23 +08:00
    @hu6360567 俄罗斯方块的屏幕是几行几列?
    af463419014
        10
    af463419014  
    OP
       2017-05-27 22:58:51 +08:00
    @hu6360567 对哦,要是底边不是 10,而是 11 或者 15 这样的奇数,全田字确实无解
    af463419014
        11
    af463419014  
    OP
       2017-05-27 23:00:02 +08:00
    @nirvam 这个连接里的好像很有道理,不过我表示英语不好,读起来亚历山大
    af463419014
        12
    af463419014  
    OP
       2017-05-27 23:02:04 +08:00
    @sun1991 假设玩家有足够的时间思考并放到指定的位置
    所以不考虑下落的速度,只考虑方块如何拼接
    考虑下落速度这个问题就没意思了
    8023
        13
    8023  
       2017-05-28 10:14:10 +08:00 via Android
    1. 不断出 s 块,直到出现循环
    2. 出 s 块,出 z 块
    3. 不断出 z 块,直到出现循环
    4. 出 z 块,出 s 块
    5. 重复以上步骤
    nirvam
        14
    nirvam  
       2017-05-31 14:40:59 +08:00
    @af463419014

    这是 S 块:
    _oo
    _o_
    oo_

    这是 Z 块:
    oo_
    _o_
    _oo

    至于策略,就像 @8023 说的,不停地连续出 S 或者 Z,或者两者交替。

    如果是完全均匀的随机数发生器来产生块的话,理论上玩家总是会遇到特定的序列包含一连串 SZ,所以这种情况下玩家是必遇到 game over 的。所以常规的 Tetris 实现采用的随机数发生器是调整过的,确保不会出现大量连续的 S 和 Z。当然也有“邪恶版”一出来先给你一堆 SZ 来增加难度。
    nirvam
        15
    nirvam  
       2017-05-31 14:44:20 +08:00
    @Gerhman 不是哦,第一,这个依赖于屏宽是奇数,然而大多数标准 Tetris 屏是 10 宽的:
    "the playfield is 10 cells wide and at least 22 cells high, with the topmost two hidden" -
    http://tetris.wikia.com/wiki/Tetris_Guideline

    第二,只出现 S 和 Z 块也能玩死玩家的,因为单凭这两种块必定会产生无法填补的洞。
    8023
        16
    8023  
       2017-05-31 15:27:49 +08:00 via Android
    @nirvam
    应该是

    Z:
    x x _
    _ x x

    S:
    _ x x
    x x _

    吧?
    nirvam
        17
    nirvam  
       2017-05-31 16:58:13 +08:00
    @8023 啊啊,对的。我说的那个应该算是扩展包了
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5181 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 33ms UTC 07:46 PVG 15:46 LAX 00:46 JFK 03:46
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86