俄罗斯方块背后的数学故事

matrix67 2011-06-17 14:13:24

你可能不认识帕基特诺夫,但你一定玩过俄罗斯方块。这个Game Boy史上卖最好的游戏被美国《电子游戏月刊》评为“史上最伟大的游戏”。游戏评论网站IGN.com则把它列在“史上100大最优秀游戏”第二位。但你知道这个游戏背后的奇妙之处吗?让死理性派来告诉你俄罗斯方块的故事。

1984年的时候,当时还名不见经传的阿列克谢•帕基特诺夫(Alexey Pajitnov)只是苏联科学院计算机中心的一位普通的工程师。他热衷于开发电脑游戏,不过这些游戏卖得都不好。那年夏天,他突然又想到了一个新点子——让不同形状的积木落进一个矩形的玻璃容器里,在容器底部堆叠起来,使之排列成完整的一行或多行。在两位同伴的协助下,他很快编写好了这个游戏。

虽然他早就预感到这个游戏可能会火起来,但结果还是令他瞠目结舌:这个游戏在莫斯科迅速流行起来,并很快风靡全球。在此后的27年里,这个游戏被移植到了几乎所有的电脑系统和游戏平台上,不少mp3、mp4、手机、电视甚至示波器上也附带有这个游戏。并且它还衍生出其他各类玩法,极大丰富了解谜游戏的类型。这个无人不知无人不晓的经典游戏后来被命名为——俄罗斯方块。

俄罗斯方块的小知识

你对俄罗斯方块了解多少?你知道俄罗斯方块的游戏场地大小吗?你知道每一种方块的名字吗?

俄罗斯方块的游戏场地是一个宽为10,高为20的矩形。游戏里共有7种方块,根据它们的形状分别命名为I, J, L, O, S, T, Z。玩家需要控制不断下落的方块填放到合适的位置,被填满的行将自动消除。视局面的不同,玩家一次可消除1行至4行不等,这在游戏里分别叫做 SINGLE、DOUBLE、TRIPLE和TETRIS。一次性消除的行数越多,得分也就越高。随着被消除的总行数的增加,方块下落速度会越来越快。一旦某个方块放置后超出了场地高度,游戏便自动结束。

http://img1.guokr.com/gkimage/mg/ab/fj/mgabfj.png

俄罗斯方块背后的数学问题

到如今俄罗斯方块已经诞生27年了。在这27年里,俄罗斯方块不但让几代玩家为之疯狂,也让不少数学家沉迷于其中。

俄罗斯方块引出的第 一个数学问题是,如果玩家的技术足够高,游戏是否永远也不会结束?1988年,约翰•布鲁托斯基(John Brzustowski)的一篇论文指出,若“S”型方块和“Z”型方块以适当的间隔交替出现时,游戏区域中将不可避免地出现越来越多无法消去的行,最终导致游戏结束。虽然这种情况发生的概率极低,但毕竟是有可能的,因此理论上俄罗斯方块是不能一直玩下去的。

另一个值得思考的问题是,游戏中用到的7种方块总面积为28,那么是否能用这7个不同形状的方块拼出一个4×7的矩形呢?虽然游戏中的方块似乎都是填补空间的好手,但这个问题的答案却是否定的。原因很简单:如果把这7种方块都放到国际象棋棋盘上,你会发现几乎每一种方块都总是占据着两个黑色格子和两个白色格子,只有“T”型方块所占的黑白格子个数始终不等。因而7个方块所占据的黑白格子总数也是不相等的。但在一个4×7的矩形区域中黑白格子数目是相同的,因此它不可能被这7个方块完全覆盖住。

http://img1.guokr.com/gkimage/01/i1/ij/01i1ij.png

有趣的是,这7种方块恰好能构成一个平面镶嵌。如果一组几何图形能够既无重叠又无空缺地填满整个平面,我们就把它称作一种平面镶嵌。地砖的形状基本上都是等边三角形、正方形和正六边形,这就是因为单用一种正多边形构造平面镶嵌仅有这三种情况。如果允许使用多种图形,我们还能构造出更多漂亮的平面镶嵌图。一些设计师别出心裁,把墙砖做成了俄罗斯方块的形状,给居家生活带来几分创意。

http://img1.guokr.com/gkimage/p2/fq/vq/p2fqvq.png

趣味拼图题

我坚信人人都玩过这极易上手的游戏。还有很多人用俄罗斯方块搭建出各种创意图形。那你能搞定下面两个问题吗:

如何把6个“L”形状的方块摆放在一起,使得每个“L”恰好都和另外三个“L”相邻?

怎样用奇数个“L”摆成一个轴对称图形?

(答案随后揭晓)

从俄罗斯方块到多联骨牌

数学家们还对这几种方块进行了扩展,用于更深层次的研究。通常把所有由若干个小正方形拼接起来组成的图形统称为多联骨牌 (Polyomino)。多联骨牌是组合数学中一个有趣而又非常具有挑战性的课题。俄罗斯方块中所用到的就是四联骨牌,它一共有7种。利用计算机穷举我们还能很快知道,五联骨牌有18种,六联骨牌则有60种。但对于一般的n联骨牌的数目,数学家们只找到了一些近似公式,目前仍然没有一个准确的答案。另外,哪些多联骨牌可以拼成完全对称图形,哪些多联骨牌能够平铺整个平面,这都是数学家们研究的课题。多联骨牌不仅是电子游戏和数学谜题中的常客,在生活各个领域中也都随处可见。包装盒的展开图、组合家具的设计、元素周期表的排版、围棋中的死活棋⋯⋯它们都和俄罗斯方块有着千丝万缕的联系。

答案揭晓:

第一问答案:

http://img1.guokr.com/gkimage/cn/ub/78/cnub78.png

第二问答案:

http://img1.guokr.com/gkimage/mi/qb/wi/miqbwi.png

79条评论

上一页  |  下一页

  • 1楼
    2011-06-17 14:21:47 五花耳朵
    抢沙发~
    引用
  • 2楼
    2011-06-17 14:29:28 五花耳朵
    “因此理论上俄罗斯方块是不能一直玩下去的。”

    这意味着人挑战电脑玩俄罗斯方块,电脑可以作弊,使咱这边下落的方块无法拼成完整可消除的行么?
    引用
  • 3楼
    2011-06-17 14:57:41 Unic豆
    引用霉耳朵的回应:“因此理论上俄罗斯方块是不能一直玩下去的。”

    这意味着人挑战电脑玩俄罗斯方块,电脑可以作弊,使咱这边下落的方块无法拼成完整可消除的行么?

    但是这种可能行太小了~
    引用
  • 4楼
    2011-06-17 15:30:05 耳洞
    我想到了七巧板。
    引用
  • 5楼
    2011-06-17 16:14:11 Sheldon 理论物理博士,科学松鼠会... ψ
    超喜欢
    引用
  • 6楼
    2011-06-17 16:43:21 王小成
    果然这个游戏人还是战不过电脑么?!
    引用
  • 7楼
    2011-06-17 18:14:53 麦田◆守望
    赞叹!有的时候简单的东西越好玩,俄罗斯方块就是。还有万恶的贪吃蛇
    引用
  • 8楼
    2011-06-17 18:19:33 冬梅望雪_
    我觉得七巧板和俄罗斯方块结合会难到坑爹的
    引用
  • 9楼
    2011-06-17 18:33:23 Lose
    我估计是因为人总是要休息的,哪能一直玩下去,估计最后都口吐白泡了。
    引用霉耳朵的回应:“因此理论上俄罗斯方块是不能一直玩下去的。”

    这意味着人挑战电脑玩俄罗斯方块,电脑可以作弊,使咱这边下落的方块无法拼成完整可消除的行么?

    引用
  • 10楼
    2011-06-17 18:55:10 明小翔
    我至今也没有把贪吃蛇&俄罗斯方块玩腻~
    引用
  • 11楼
    2011-06-17 19:25:48 `牛VS傻子*
    引用扑卡★米的回应:我至今也没有把贪吃蛇&俄罗斯方块玩腻~

    其实我都快玩吐了,对于这两种游戏= =
    引用
  • 12楼
    2011-06-17 19:36:07 Factor
    我喜欢玩
    引用
  • 13楼
    2011-06-17 19:44:38 xyfd 引用
  • 14楼
    2011-06-17 19:54:39 ____偏执┐
    都玩傻了
    引用
  • 15楼
    2011-06-17 20:01:07 花忆向阳开
    啊啊啊好神奇
    引用
  • 16楼
    2011-06-17 20:27:08 pondering 引用
  • 17楼
    2011-06-17 21:05:45 海贼王
    数学和游戏的结晶!
    引用
  • 18楼
    2011-06-17 22:21:40 Maigo 语言爱好者 ψ
    我小时候每次去同学家玩俄罗斯方块最后都是被妈妈拖回去,因为我总是玩不完……
    引用
  • 19楼
    2011-06-17 22:43:59 主流&元素
    超爱!!!!
    后来是在手机上玩的时候把中间的空隙架出了那7种方块。。。
    引用
  • 20楼
    2011-06-17 23:04:36 思雨心竹
    果断只想玩游戏,数学什么的~~~
    引用
  • 21楼
    2011-06-17 23:40:53 verchiel
    为什么所有游戏都有数学什么的
    引用
  • 22楼
    2011-06-18 11:28:56 我是四川崽儿
    第二问那怎么来轴对称啊?我没看懂,求解释。
    引用
  • 23楼
    2011-06-18 11:51:13 博弈
    引用verchiel的回应:为什么所有游戏都有数学什么的

    因为这里是死理性派…………
    引用
  • 24楼
    2011-06-18 12:40:50 gdw0108
    总觉得七巧板应该比这更深奥!!!数学真是无处不在啊!!!
    引用
  • 25楼
    2011-06-18 13:07:11 可回收的果壳
    可以暂停。
    引用Lose的回应:我估计是因为人总是要休息的,哪能一直玩下去,估计最后都口吐白泡了。


    引用
  • 26楼
    2011-06-18 13:10:00 啊欢叫Joyce喔
    很好,很理性又很好玩
    引用
  • 27楼
    2011-06-18 13:14:29 Eunice
    引用Unic豆的回应:
    但是这种可能行太小了~


    但是如果编程的那个是你,你完全可以把它玩到结束。
    因为你可以控制什么时候落下什么。
    引用
  • 28楼
    2011-06-18 13:16:48 Psi
    引用我是四川崽儿的回应:第二问那怎么来轴对称啊?我没看懂,求解释。


    沿左上角到右下角的直线对称的哈。。。
    引用
  • 29楼
    2011-06-18 13:17:07 Eunice
    引用我是四川崽儿的回应:第二问那怎么来轴对称啊?我没看懂,求解释。



    其实很简单,对称轴就是135°那条线
    引用
  • 30楼
    2011-06-18 13:18:22 Eunice
    那只是外轮廓对称,内部线条不对称的。
    引用
  • 31楼
    2011-06-18 14:54:24 花僧哥
    乐趣在于反应速度和观察能力以及,运气!
    引用
  • 32楼
    2011-06-18 15:04:29 蘑菇兔 心理学控,人类性行为研究... ψ
    果然心形是对称的……屁股是对称的么……
    引用
  • 33楼
    2011-06-18 15:55:59 明日之光
    我一直很想问一句——伟大的俄罗斯方块的方块下落是随机的,但鉴于其是一款软件,就必须要遵循一定的公式,所以,方块的下落应该是有规律可循的。这样的话,鉴于俄罗斯方块版本的不同,其编程应该也相应的有所不同。这就是说,俄罗斯方块应该可以一直玩下去。
    引用
  • 34楼
    2011-06-18 16:11:35 临界点
    那得看怎么编程了
    引用
  • 35楼
    2011-06-18 16:50:54 老欧 DIYer,摄影爱好者,... ψ
    斜着的
    引用我是四川崽儿的回应:第二问那怎么来轴对称啊?我没看懂,求解释。

    引用
  • 36楼
    2011-06-18 17:09:43 Mr.sciam
    比我牛。
    引用Maigo的回应:我小时候每次去同学家玩俄罗斯方块最后都是被妈妈拖回去,因为我总是玩不完……

    引用
  • 37楼
    2011-06-18 19:47:33 Neverland
    表示三维的俄罗斯方块挺难玩的,因为图形转换时总是,思维凌乱
    引用
  • 38楼
    2011-06-18 20:55:11 Kam_芋頭
    以前山寨机上的俄罗斯方块就让我无限沉迷
    引用
  • 39楼
    2011-06-18 21:45:11 王小卡
    那是很久以前的小时候~~
    引用
  • 40楼
    2011-06-18 22:05:22 lim。呆子
    极限的喜欢啊,果然数学万能。。
    引用
  • 41楼
    2011-06-18 22:09:06 AlienNeo
    斜着看就是了
    引用我是四川崽儿的回应:第二问那怎么来轴对称啊?我没看懂,求解释。

    引用
  • 42楼
    2011-06-18 22:47:53 阿逛
    “如果把这7种方块都放到国际象棋棋盘上,你会发现几乎每一种方块都总是占据着两个黑色格子和两个白色格子,只有“T”型方块所占的黑白格子个数始终不等。因而7个方块所占据的黑白格子总数也是不相等的。但在一个4×7的矩形区域中黑白格子数目是相同的,因此它不可能被这7个方块完全覆盖住。”


    --------------


    这个解决方法太牛了
    引用
  • 43楼
    2011-06-18 23:32:42 xlwj321
    虽然俄罗斯方块在商业上极其成功,但貌似历史上那位毛子工程师却并没有得到太多的好处……
    引用
  • 44楼
    2011-06-19 00:35:08 蝴蝶子键
    若“S”型方块和“Z”型方块以适当的间隔交替出现时,游戏区域中将不可避免地出现越来越多无法消去的行,最终导致游戏结束。

    意味着存在简单规律性的出现模式能让游戏结束?
    另外推广一道题:求证存在着无数n使得n×n的正方形中随意减去一格后余下的部分总可以完全分割成若干由L型方块组成的图形。
    继续推广成S、Z、T又可否成立?
    引用
  • 45楼
    2011-06-19 08:03:14 飞鸟未来
    最后的心心好可爱!
    引用
  • 46楼
    2011-06-19 10:01:23 弱智好儿童
    真的好开心··大爱
    引用
  • 47楼
    2011-06-19 18:51:49 似然函数
    好棒啊,从来没有想过这么多的。
    引用
  • 48楼
    2011-06-19 20:31:48 erstwhile
    我的最爱啊俄罗斯方块!一直玩韩服的!
    引用
  • 49楼
    2011-06-19 23:29:02 竹蜻蜓
    怀念掌上游戏机……有一次玩太久,做数学题的时候满脑子都是各种缺口和图形……
    引用
  • 50楼
    2011-06-20 10:02:39 草木风情
    哇,原来这么秒啊
    引用

登录 后发表评论,你也可以用以下帐号直接登录

新浪微博 人人网 QQ

©2012果壳网 京ICP备09043258号-2 京公网安备1101052730