俄罗斯方块怎么玩可以永无止境地玩下去吗

俄罗斯方块可以永无止境地玩下去吗?_17xuee游戏学院吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0可签7级以上的吧50个
本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:138贴子:
俄罗斯方块可以永无止境地玩下去吗?
    大家在玩俄罗斯方块的时候有没有想过这样一个问题:如果玩家足够牛B的话,是不是永远也不可能玩死?换句话说,假设你是万恶的游戏机,你打算害死你面前的玩家;你知道任意时刻游戏的状态,并可以有针对性地给出一些明显不合适的方块,尽量迫使玩家面对最坏情况。那么,你有没有一种算法能保证害死玩家,或者玩家无论如何都存在一种必胜策略呢?  注意,俄罗斯方块的游戏区域是一个宽为10,高为20的矩形,并且玩家可以预先看到下一个给出的方块是什么。在设计策略时,你必需考虑到这一点。  相信很多人有过这样的经历:玩俄罗斯方块时一开局就给你一个“S”型方块,让完美主义者感到异常别扭;结果,第二个方块还是这个“S”,第三个方块依旧是“S”,相当令人崩溃。于是,我们开始猜测,如果游戏机给你无穷个“S”形方块,玩家是不是就没有解了?答案是否定的。如图1,从第10步开始,整个局面产生一个循环;只要机器给的一直都是“S”方块,玩家可以不断重复这几个步骤,保证永远也死不了。  不过,这个循环是在游戏场地清空了的情况下才产生的。有人会进一步想了,要是在玩着玩着,看着你局势不好时突然给你无穷多个“S”方块呢?事实上,此时局面的循环依然可能存在,如图2。在第5个“S”形方块落地后,循环再次产生。  俄罗斯方块真的不可能玩死吗?1988年,John Brzustowski的一篇论文指出,俄罗斯方块游戏无解并非不可能。它给出了一种算法可以保证游戏机能够害死玩家,即使我们要求它必须提前向玩家展示出下一个方块的形状。构造的关键在于,整个游戏的局面个数是有限的(2的200次方),如果玩家一直不死,在某一时刻必然会重复某一状态。我们把两次重复状态及其之间的游戏过程叫做一个“循环”,这个循环实际影响到的那些行就叫做“实际循环区”。例如,图2就是一个循环,这个循环的“实际循环区”是从第4行到第7行这四行。  我们把宽为10的游戏区域划分为5个宽为2的“通道”,从左至右用1到5标号。注意到图1和图2中的两个循环都有一个共同点:每个“S”形方块最终都完全落在某个通道内。事实上,对于任意一个只有“S”形方块的循环,我们都有这个结论。也就是说,如果游戏机一直给你“S”形的方块,你却用它们弄出了一个循环,那只有一种可能:所有“S”形方块的下落位置都没有跨越通道(就像图3中的紫色方块那样,而非绿色方块那样)。  为了证明这一点,我们对通道编号施归纳。令命题P(x)表示,如果某个“S”形方块(或它的其中一部分)落在了通道x的左边,那它一定完全落在某个通道内。P(1)显然成立:方块根本不可能占据通道1左边的某个格子,因为通道1左边啥都没有。下面我们说明,当P(n)为真时,P(n+1)也为真。  我们首先要证明一个引理:在循环中的任意时刻,通道n的实际循环区内绝对不可能出现形如“口■”的两个并排的格子。如图4.1,假设图中星号方块所在行是通道n的实际循环区内位置最低的“口■”的结构。假如这一行被消掉了,又由归纳假设,不存在哪个“S”形方块跨越了该通道的左边界,因此只有一种可能:某个“S”形方块从左侧面挤了进来(如图4.2)。但这样一来,我们又产生了一个更低的“口■”,矛盾。这就是说,星号方块所在行一直没被消去。但这也是不可能的,因为实际循环区内是一个新陈代谢、以旧换新的更替过程,每一行最后都是会被消除的。  接下来,考虑命题P(n+1)。要想让“S”形方块占据通道n的格子,只有图5这四种情况。但是,由于我们之前证明了通道n中不能存在“口■”,因此在这个“S”形方块落下之前,星号方块都是已经有了的了。注意到,每一个“S”形方块的下落都致使“■口”形结构的减少,但第一种情形除外——它消除了一个“■口”形结构,但在其上方带来了一个新的,使得“■口”形结构个数保持不变。没有哪种情形能够增加“■口”的个数。但是,通道n的“■口”形结构个数应该是恒定的,因为它在一个循环区里。因此,只有第一种情况才能够被接受。  因此,仅含有“S”形方块的循环只有一种情况——“S”形方块在各个通道内重叠,填满并消除若干行后回到初始状态。实际循环区内的每个通道都是一个模样:底下是0个或多个“■■”,顶部一个“■口”。注意,最右侧那个通道的最顶端是一个“■口”,右边这个空白一辈子也不可能用“Z”形方块填上。也就是说,在一个只含“S”形方块的循环区内,必然会有某一行,它的最右侧是一个“■口”,它保证了该行不能仅用“Z”形方块消掉。如图6所示,箭头所指的行无法单用“Z”形方块消除,因为星号位置不可能用“Z”形方块填充。  下面我们给出游戏机害死人的算法:  1. 不断给出“S”形方块并显示下一个方块也为“S”,直到出现一个循环;  2. 给一个“S”形方块并显示下一个方块为“Z”;  3. 不断给出“Z”形方块并显示下一个方块也为“Z”,直到出现一个循环;  4. 给一个“Z”形方块并显示下一个方块为“S”;  5. 跳回1并重复执行。  这样的话,玩家为什么会无解呢?由上面的结论,在第1步后,游戏区域中出现了一个不能用“Z”消除的行。即使再给你一个“S”形方块,这一点仍然无法挽救,因为填充星号空格的唯一途径就是插一个“S”进去,但这立即又产生了一个“Z”永远放不进去的空位。然后,玩家就拿到了一大堆“Z”,最终必然会产生另一个循环,且这个循环区在刚才那个无法消去的行之上(循环区不可能包含一个不能消除的行,因为正如前面所说,一个实际循环区的所有行最终都是会被消掉的,这样才可能循环)。这个循环区的最左边那个通道将会产生一个“口■”结构,是“S”所不能消去的。于是,游戏机又给出一大堆的“S”,最终使得两种无法消去的行交替出现,直至Game Over。  有两点值得注意。一、虽然我们这里假设游戏机是有主观能动性的,但事实上呢,即使方块是随机出的,如果你足够倒霉的话,这个特殊的方块序列可能恰好就让你一个不错地碰上了;虽然这种怪事的发生概率极低,但理论上说仍然是可能的,因此俄罗斯方块终究不是玩不死的,总有一个时候会Game Over。二、这个结论可以直接扩展到场地为任意宽度的俄罗斯方块游戏。当场地宽为偶数时,上述证明同样有效;当场地宽为奇数时,无穷多个方形方块就可以直接干掉玩家。
贴吧热议榜
使用签名档&&
保存至快速回贴俄罗斯方块可以永无止境地玩下去吗?_中超吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0可签7级以上的吧50个
本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:584,716贴子:
俄罗斯方块可以永无止境地玩下去吗?
发现 我俄罗斯方块 简直...
我也喜欢玩俄罗斯方块,...
刚登pss看到的大概是最...
快来加入我吧。
制作人实在是太有才了,...
来来,我特么上次是从哪...
如题没错就是闲的蛋疼...
3D双端东方魔幻网游「大青云」勾魂公测,穿越逆转,封神故事,全新演绎!
大家在玩俄罗斯方块的时候有没有想过这样一个问题:如果玩家足够牛B的话,是不是永远也不可能玩死?换句话说,假设你是万恶的,你打算害死你面前的玩家;你知道任意时刻游戏的状态,并可以有针对性地给出一些明显不合适的方块,尽量迫使玩家面对最坏情况。那么,你有没有一种算法能保证害死玩家,或者玩家无论如何都存在一种必胜策略呢?注意,俄罗斯方块的游戏区域是一个宽为10,高为20的矩形,并且玩家可以预先看到下一个给出的方块是什么。在时,你必需考虑到这一点。
相信很多人有过这样的经历:玩俄罗斯方块时一开局就给你一个“S”型方块,让完美主义者感到异常别扭;结果,第二个方块还是这个“S”,第三个方块依旧是“S”,相当令人崩溃。于是,我们开始猜测,如果给你无穷个“S”形方块,玩家是不是就没有解了?答案是否定的。如图1,从第10步开始,整个局面产生一个循环;只要机器给的一直都是“S”方块,玩家可以不断重复这几个步骤,保证永远也死不了。
不过,这个循环是在游戏场地清空了的情况下才产生的。有人会进一步想了,要是在玩着玩着,看着你局势不好时突然给你无穷多个“S”方块呢?事实上,此时局面的循环依然可能存在,如图2。在第5个“S”形方块落地后,循环再次产生。
俄罗斯方块真的不可能玩死吗?1988年,John Brzustowski的一篇论文指出,俄罗斯方块游戏无解并非不可能。它给出了一种算法可以保证能够害死玩家,即使我们要求它必须提前向玩家展示出下一个方块的形状。构造的关键在于,整个游戏的局面个数是有限的(2的200次方),如果玩家一直不死,在某一时刻必然会重复某一状态。我们把两次重复状态及其之间的游戏过程叫做一个“循环”,这个循环实际影响到的那些行就叫做“实际循环区”。例如,图2就是一个循环,这个循环的“实际循环区”是从第4行到第7行这四行。 我们把宽为10的游戏区域划分为5个宽为2的“通道”,从左至右用1到5标号。注意到图1和图2中的两个循环都有一个共同点:每个“S”形方块最终都完全落在某个通道内。事实上,对于任意一个只有“S”形方块的循环,我们都有这个结论。也就是说,如果一直给你“S”形的方块,你却用它们弄出了一个循环,那只有一种可能:所有“S”形方块的下落位置都没有跨越通道(就像图3中的紫色方块那样,而非绿色方块那样)。
为了证明这一点,我们对通道编号施归纳。令命题P(x)表示,如果某个“S”形方块(或它的其中一部分)落在了通道x的左边,那它一定完全落在某个通道内。P(1)显然成立:方块根本不可能占据通道1左边的某个格子,因为通道1左边啥都没有。下面我们说明,当P(n)为真时,P(n+1)也为真。我们首先要证明一个引理:在循环中的任意时刻,通道n的实际循环区内绝对不可能出现形如“□■”的两个并排的格子。如图4.1,假设图中星号方块所在行是通道n的实际循环区内位置最低的“□■”的结构。假如这一行被消掉了,又由归纳假设,不存在哪个“S”形方块跨越了该通道的左边界,因此只有一种可能:某个“S”形方块从左侧面挤了进来(如图4.2)。但这样一来,我们又产生了一个更低的“□■”,矛盾。这就是说,星号方块所在行一直没被消去。但这也是不可能的,因为实际循环区内是一个新陈代谢、以旧换新的更替过程,每一行最后都是会被消除的。
接下来,考虑命题P(n+1)。要想让“S”形方块占据通道n的格子,只有图5这四种情况。但是,由于我们之前证明了通道n中不能存在“□■”,因此在这个“S”形方块落下之前,星号方块都是已经有了的了。注意到,每一个“S”形方块的下落都致使“■□”形结构的减少,但第一种情形除外——它消除了一个“■□”形结构,但在其上方带来了一个新的,使得“■□”形结构个数保持不变。没有哪种情形能够增加“■□”的个数。但是,通道n的“■□”形结构个数应该是恒定的,因为它在一个循环区里。因此,只有第一种情况才能够被接受。
因此,仅含有“S”形方块的循环只有一种情况——“S”形方块在各个通道内重叠,填满并消除若干行后回到初始状态。实际循环区内的每个通道都是一个模样:底下是0个或多个“■■”,顶部一个“■□”。注意,最右侧那个通道的最顶端是一个“■□”,右边这个空白一辈子也不可能用“Z”形方块填上。也就是说,在一个只含“S”形方块的循环区内,必然会有某一行,它的最右侧是一个“■□”,它保证了该行不能仅用“Z”形方块消掉。如图6所示,箭头所指的行无法单用“Z”形方块消除,因为星号位置不可能用“Z”形方块填充。 下面我们给出游戏机害死人的算法:
1. 不断给出“S”形方块并显示下一个方块也为“S”,直到出现一个循环;
2. 给一个“S”形方块并显示下一个方块为“Z”;
3. 不断给出“Z”形方块并显示下一个方块也为“Z”,直到出现一个循环;
4. 给一个“Z”形方块并显示下一个方块为“S”;
5. 跳回1并重复执行。 这样的话,玩家为什么会无解呢?由上面的结论,在第1步后,游戏区域中出现了一个不能用“Z”消除的行。即使再给你一个“S”形方块,这一点仍然无法挽救,因为填充星号空格的唯一途径就是插一个“S”进去,但这立即又产生了一个“Z”永远放不进去的空位。然后,玩家就拿到了一大堆“Z”,最终必然会产生另一个循环,且这个循环区在刚才那个无法消去的行之上(循环区不可能包含一个不能消除的行,因为正如前面所说,一个实际循环区的所有行最终都是会被消掉的,这样才可能循环)。这个循环区的最左边那个通道将会产生一个“□■”结构,是“S”所不能消去的。于是,游戏机又给出一大堆的“S”,最终使得两种无法消去的行交替出现,直至Game Over。
有两点值得注意。一、虽然我们这里假设游戏机是有主观能动性的,但事实上呢,即使方块是随机出的,如果你足够倒霉的话,这个特殊的方块序列可能恰好就让你一个不错地碰上了;虽然这种怪事的发生概率极低,但理论上说仍然是可能的,因此俄罗斯方块终究不是玩不死的,总有一个时候会Game Over。二、这个结论可以直接扩展到场地为任意宽度的俄罗斯方块游戏。当场地宽为偶数时,上述证明同样有效;当场地宽为奇数时,无穷多个方形方块就可以直接干掉玩家。
我敢肯定 中超吧能看懂此贴的不足2人
看不看懂不知道,但能看完的肯定不足两人。
话说好像看过
转的吗???
37《最佳阵容》2017精心打造的首款3D足球游戏「最佳阵容」画面效果逼真,多人在线PK;最佳阵容西甲正版授权,不一样的足球操作体验,最佳阵容点击试玩&&
略疼 略疼。。
是有那么点疼
楼主先到QQ游戏里面混个建筑队长,再来说话
俄罗斯方块玩不死的,不信楼主出个题试试
贴吧热议榜
使用签名档&&
保存至快速回贴温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
我在你面前难道那么不值一提?连我送你回去都算是累赘?我没有说一句越界的话没有做一件越界的事,我只是想单纯地再多陪你走一段,再在你身边多待上几分钟,难道就只能换来那么一句不屑和冷酷的回去注意安全?说这句话的时候说的是那么快那么狠,连头也不回一下,我就那么难处理?是,人无完人,我也深知我的诸多的不足,但即使这样,沟通和一颗远隔重洋都牵挂着你的心?每一次费尽心机的生日祝福,安慰你的微信短信,给你的个个建议,翻遍你的朋友圈微博人人想要更多更多地了解你送的礼物,不管在世界哪个角落都想给你写下祝福的挂念。我的心是要有多小,两年来只能装得下你一个人;我的心也要有很大,才能装得下你发给我的每一条信息对我说的每一句话定格在脑海里每一帧有你的良辰你喜怒哀乐的种种人和事。但即使是这样,才能换得来你两天两夜即使休息也不愿回复我的讯息,在你边上多陪你一段路的我的那样的冷落和无情。我在你身上的滴滴的鲜血丝丝的温柔难道你就没有半点的察觉?你吃饭时开玩笑说你自己薄情寡义,但为什么我真的就觉得这残酷的人生,在有些时候,都能来的比你温存。我从来没和你说过为什么每次要给你过生日要给你发长长的微信给你准备生日礼物哪怕是一张明信片,那是因为我是个害怕孤独的人啊。我好怕每个日落的夕阳烟光里只有我一人的模样,我好怕彷徨无助的时候没有一段话或者一个语音给我力量,我好怕在我奋不顾身的时候没人会让我回头看看自己,我好怕在我每年老去的日子里平平淡淡。所以我才会这样对你,仿佛成为了一种习惯一个信仰。但在那之后我没有再收回些什么,可悲地在为没有在收到些什么心酸。
飓风刚过的夜,雨雾氤氲。滴滴答答的敲打着冰冷的玻璃的雨滴像是倒转的时钟带我回到了一年前那春雨连绵的中山大学,那年,那里。夜雨初霁,布满水洼倒映着时隐时现的皎洁月光的林荫道又慢慢地布满了来往的学子。明德园一栋,我曾镌刻了多少美好青春回忆的流连,门前的国防生展板上飒爽的英姿仍历历在目。真是奇怪,在这个沉寂甚至压抑的雨夜,在这个黑暗和雾霭似乎要一起把大地吞噬的雨夜,我是多么希望你在我的身边。放眼望去,窗外是暴雨过后躁动起来的车流,在沉默的黑暗里勾勒出一幅幅耀眼的画;我睁大了眼,仿佛我的视线能穿透这雨,这云,这雨,这夜,穿过山川湖海险阻大洋,看到你在北校新教里专注的眼神,操场上爽朗的笑声。若萱,我想你了。
又到凤凰花朵开放的时候想起某个好久不见老朋友记忆跟着感觉慢慢变鲜活染红的山坡道别的路口青春带走了什么留下了什么剩一片感动在心窝林志炫的歌声又在耳边想起,那样的高亢却不失优雅。回想起来,上次在这里写博客已经是大概两年前的事了吧,网易的一切都带着些许荒凉的陌生,不免让人心寒。曾经幻想着高考后人生最痛快的假期依然悄然拉开序幕,而窗外如火般的凤凰花不禁使我坐下来细细留恋过往的点滴。&&&&六月八号的阳光是那么的耀眼,即便是傍晚也在C栋的门前的仍旧翠绿的凤凰木下撒上点点斑驳的印记。伴随着铃声的结束,三百天闻鸡起舞挑灯夜战终于画上了休止符。人生中最浓墨重彩,最不顾一切的战役的硝烟已然褪去,剩下的便是喧闹的欢腾和无止境的喧嚣。好像尼采曾说:“人群越是欢乐,我越是感到痛苦。”坐在KTV的房间中看着同学们在氤氲在酒气的浓厚空气中尽情,我并没有与之共享的打算,也没有解脱桎梏的释然,而是如同被云翳遮蔽般的混沌与麻木。回到家,打开开关被磨得刷白的台灯,看着桌上与我并肩作战的五三天利,我自然是会不禁惆怅而独悲,如同众多的高三学子一般,毕竟这些烙印着我们青春的日子无论在生命的哪个阶段都是能令人为之怦然的。此时,海德格尔的一句话蓦然冒上心头:“人生不过是痛苦和无聊间摇晃的钟摆。”痛苦的高三结束,迎接我们的便是无聊的恍惚。毕业典礼是6.11,天公不作美,暴雨倾盆。罔论凤凰花无从寻觅,文体三的舞台上又被迫放上不少小桶接受来自上天的
&大家在玩俄罗斯方块的时候有没有想过这样一个问题:如果玩家足够牛B的话,是不是永远也不可能玩死?换句话说,假设你是万恶的游戏机,你打算害死你面前的玩家;你知道任意时刻游戏的状态,并可以有针对性地给出一些明显不合适的方块,尽量迫使玩家面对最坏情况。那么,你有没有一种算法能保证害死玩家,或者玩家无论如何都存在一种必胜策略呢?注意,俄罗斯方块的游戏区域是一个宽为10,高为20的矩形,并且玩家可以预先看到下一个给出的方块是什么。在设计策略时,你必需考虑到这一点。相信很多人有过这样的经历:玩俄罗斯方块时一开局就给你一个“S”型方块,让完美主义者感到异常别扭;结果,第二个方块还是这个“S”,第三个方块依旧是“S”,相当令人崩溃。于是,我们开始猜测,如果游戏机给你无穷个“S”形方块,玩家是不是就没有解了?答案是否定的。如图1,从第10步开始,整个局面产生一个循环;只要机器给的一直都是“S”方块,玩家可以不断重复这几个步骤,保证永远也死不了。不过,这个循环是在游戏场地清空了的情况下才产生的。有人会进一步想了,要是在玩着玩着,看着你局势不好时突然给你无穷多个“S”方块呢?事实上,此时局面的循环依然可能存在,如图2。在第5个“S”形方块落地后,循环再次产生。俄罗斯方块真的不可能玩死吗?1988年,John Brzustowski的指出,俄罗斯方块游戏无解并非不
全球最值得听的100首英文歌1. don’t cry–guns n’ roses这首歌曾唱哭了千万人。总是能够触痛了心底最软的地方,心抽痛着,眼圈红了,却没有眼泪渗出,每多听一次就多一次的依恋…&2. fade to black–METAllic金属乐队也有很经典歌曲,相信国内有好多人都是听了这首歌的前奏才去学吉他的!METALLICA经典中的经典,也是METALLICA饱受争议的作品,因为当时有乐迷自杀就是出于这首歌,胆小别听哦~3. dreaming my dream–cranberries有着王菲一样变幻倚俪的唱腔,高雅离开了原本浩渺的苍穹来到人间,它带着冷漠的美艳,但又说着人身上的变动和永恒,爱 尔兰的卡百利乐队就这样汲取了精灵与传说的浩渺气质,沟通了人间和天空的美,把人的故事,爱情,历史,死亡,社会都融进那飘忽而真切的女声中…(卡百利, 本是蔓声浆果的藤蔓)&4. dying in the sun–cranberries不断地重复着放这首歌,简短迂回的旋律,简短迂回的歌词。平躺在这样的歌里,晕乎乎的,渴望在阳光下睡死…&5. never grow old–cranberries 最近常听朋友们说时间过得好快~! 感觉自己在一天一天的虚度光阴! 不由得想起了这支歌~!&6. far away from home–groove coverage德国新晋乐队,这首歌已被众多知名DJ誉为当今舞曲最为精华的传世之作,听了不下几百遍了,旋律好的很,女声好的很…&
this.p={b:2,s:10,a:false};
{if !defined('ml')||!ml.length} 专辑 ${an|escape} 没有音乐! {else} {list ml as x}{/list} {/if}
{if !defined('ll')||!ll.length} 网易博客音乐盒 {else} {list ll as x}${x.v|default:'&'}{/list} {/if}
{if !defined('al')||!al.length} 没有专辑! {else} {list al as x}{/list} {/if}
& 漂泊的中大人 &
QQ E-Mail  博客等级
最后登录加载中...
this.p={b:2,ua:21, ub:'http://img.bimg.126.net/photo/DIBp95x6WNTgfcLRXQaEEg==/4048823.jpg',us:'他', friendstatus:'none',followstatus:'unFollow',hmcon:'0',aShowT:'1',guideId:6};
积分 ${data.totalScore} 分,距离下一等级还有 ${data.nextGradeNeedScore}分
博友列表加载中...
this.p={b:2,m:0};
列表加载中...
this.p={b:2,cn:15};
& & & & & &
网易公司版权所有&&
{list x.l as y}
{/list} {/list}
{if defined('wl')} {list wl as x}{/list} {/if}烧脑研究原来是这样的 俄罗斯方块可以永无止境地玩下去吗?-烧脑研究-IT业界-未来日报
> 烧脑研究原来是这样的 俄罗斯方块可以永无止境地玩下去吗?
烧脑研究:俄罗斯方块可以永无止境地玩下去吗?
导读: 【烧脑研究原来是这样的 俄罗斯方块可以永无止境地玩下去吗?】大家在玩俄罗斯方块的时候有没有想过这样一个问题如果玩家足够牛B的话,是不是永远也不可能玩死?换句话说,假设你是万恶的游戏机,你打算害死你面前..
大家在玩俄罗斯方块的时候有没有想过这样一个问题如果玩家足够牛B的话,是不是永远也不可能玩死?换句话说,假设你是万恶的游戏机,你打算害死你面前的玩家;你知道任意时刻游戏的状态,并可以有针对性地给出一些明显不合适的方块,尽量迫使玩家面对最坏情况。那么,你有没有一种算法能保证害死玩家,或者玩家无论如何都存在一种必胜策略呢?注意,俄罗斯方块的游戏区域是一个宽为10,高为20的矩形,并且玩家可以预先看到下一个给出的方块是什么。在设计策略时,你必需考虑到这一点。相信很多人有过这样的经历玩俄罗斯方块时一开局就给你一个“S”型方块,让完美主义者感到异常别扭;结果,第二个方块还是这个“S”,第三个方块依旧是“S”,相当令人崩溃。于是,我们开始猜测,如果游戏机给你无穷个“S”形方块,玩家是不是就没有解了?答案是否定的。如图1,从第10步开始,整个局面产生一个循环;只要机器给的一直都是“S”方块,玩家可以不断重复这几个步骤,保证永远也死不了。不过,这个循环是在游戏场地清空了的情况下才产生的。有人会进一步想了,要是在玩着玩着,看着你局势不好时突然给你无穷多个“S”方块呢?事实上,此时局面的循环依然可能存在,如图2。在第5个“S”形方块落地后,循环再次产生。俄罗斯方块真的不可能玩死吗?1988年,John Brzustowski的一篇论文指出,俄罗斯方块游戏无解并非不可能。它给出了一种算法可以保证游戏机能够害死玩家,即使我们要求它必须提前向玩家展示出下一个方块的形状。构造的关键在于,整个游戏的局面个数是有限的(2的200次方),如果玩家一直不死,在某一时刻必然会重复某一状态。我们把两次重复状态及其之间的游戏过程叫做一个“循环”,这个循环实际影响到的那些行就叫做“实际循环区”。例如,图2就是一个循环,这个循环的“实际循环区”是从第4行到第7行这四行。我们把宽为10的游戏区域划分为5个宽为2的“通道”,从左至右用1到5标号。注意到图1和图2中的两个循环都有一个共同点每个“S”形方块最终都完全落在某个通道内。事实上,对于任意一个只有“S”形方块的循环,我们都有这个结论。也就是说,如果游戏机一直给你“S”形的方块,你却用它们弄出了一个循环,那只有一种可能所有“S”形方块的下落位置都没有跨越通道(就像图3中的紫色方块那样,而非绿色方块那样)。为了证明这一点,我们对通道编号施归纳。令命题P(x)表示,如果某个“S”形方块(或它的其中一部分)落在了通道x的左边,那它一定完全落在某个通道内。P(1)显然成立方块根本不可能占据通道1左边的某个格子,因为通道1左边啥都没有。下面我们说明,当P(n)为真时,P(n+1)也为真。我们首先要证明一个引理在循环中的任意时刻,通道n的实际循环区内绝对不可能出现形如“□■”的两个并排的格子。如图4.1,假设图中星号方块所在行是通道n的实际循环区内位置最低的“□■”的结构。假如这一行被消掉了,又由归纳假设,不存在哪个“S”形方块跨越了该通道的左边界,因此只有一种可能某个“S”形方块从左侧面挤了进来(如图4.2)。但这样一来,我们又产生了一个更低的“□■”,矛盾。这就是说,星号方块所在行一直没被消去。但这也是不可能的,因为实际循环区内是一个新陈代谢、以旧换新的更替过程,每一行最后都是会被消除的。接下来,考虑命题P(n+1)。要想让“S”形方块占据通道n的格子,只有图5这四种情况。但是,由于我们之前证明了通道n中不能存在“□■”,因此在这个“S”形方块落下之前,星号方块都是已经有了的了。注意到,每一个“S”形方块的下落都致使“■□”形结构的减少,但第一种情形除外——它消除了一个“■□”形结构,但在其上方带来了一个新的,使得“■□”形结构个数保持不变。没有哪种情形能够增加“■□”的个数。但是,通道n的“■□”形结构个数应该是恒定的,因为它在一个循环区里。因此,只有第一种情况才能够被接受。因此,仅含有“S”形方块的循环只有一种情况——“S”形方块在各个通道内重叠,填满并消除若干行后回到初始状态。实际循环区内的每个通道都是一个模样底下是0个或多个“■■”,顶部一个“■□”。注意,最右侧那个通道的最顶端是一个“■□”,右边这个空白一辈子也不可能用“Z”形方块填上。也就是说,在一个只含“S”形方块的循环区内,必然会有某一行,它的最右侧是一个“■□”,它保证了该行不能仅用“Z”形方块消掉。如图6所示,箭头所指的行无法单用“Z”形方块消除,因为星号位置不可能用“Z”形方块填充。下面我们给出游戏机害死人的算法1、不断给出“S”形方块并显示下一个方块也为“S”,直到出现一个循环;2、给一个“S”形方块并显示下一个方块为“Z”;3、不断给出“Z”形方块并显示下一个方块也为“Z”,直到出现一个循环;4、给一个“Z”形方块并显示下一个方块为“S”;5、跳回1并重复执行。这样的话,玩家为什么会无解呢?由上面的结论,在第1步后,游戏区域中出现了一个不能用“Z”消除的行。即使再给你一个“S”形方块,这一点仍然无法挽救,因为填充星号空格的唯一途径就是插一个“S”进去,但这立即又产生了一个“Z”永远放不进去的空位。然后,玩家就拿到了一大堆“Z”,最终必然会产生另一个循环,且这个循环区在刚才那个无法消去的行之上(循环区不可能包含一个不能消除的行,因为正如前面所说,一个实际循环区的所有行最终都是会被消掉的,这样才可能循环)。这个循环区的最左边那个通道将会产生一个“□■”结构,是“S”所不能消去的。于是,游戏机又给出一大堆的“S”,最终使得两种无法消去的行交替出现,直至Game Over。有两点值得注意。一、虽然我们这里假设游戏机是有主观能动性的,但事实上呢,即使方块是随机出的,如果你足够倒霉的话,这个特殊的方块序列可能恰好就让你一个不错地碰上了;虽然这种怪事的发生概率极低,但理论上说仍然是可能的,因此俄罗斯方块终究不是玩不死的,总有一个时候会Game Over。二、这个结论可以直接扩展到场地为任意宽度的俄罗斯方块游戏。当场地宽为偶数时,上述证明同样有效;当场地宽为奇数时,无穷多个方形方块就可以直接干掉玩家。 微信搜索“IT之家”关注抢6s大礼!下载IT之家客户端(戳这里)也可参与评论抽楼层大奖!
18:00 更新
16:37 更新
14:54 更新
13:30 更新
13:30 更新
13:30 更新
13:30 更新
13:24 更新
13:24 更新
13:24 更新

我要回帖

更多关于 俄罗斯方块玩具拼图 的文章

 

随机推荐