說起“俄羅斯方塊”這個入門級游戲,也許如今許多網游迷并不熟悉,但對于年齡稍長的或骨灰級的玩家而言,當初迷戀這個游戲的程度,用目不轉睛和廢寢忘食來形容亦不為過,由此可見“俄羅斯方塊”面世后的魅力和誘惑.這種結果甚至出乎游戲制作者——電腦工程師阿列克謝·帕基特諾夫的預料,因為他之前開發的電腦小游戲,無一例外遭受冷遇.1984年夏天他又琢磨起“俄羅斯方塊”,但完成制作后仍缺乏信心.
事實令他瞠目結舌——“俄羅斯方塊”在莫斯科迅速流行,并在此后的30年里風靡全球.它被移植到了幾乎所有的電腦系統和游戲平臺上,包括MP3、MP4、手機、電視,最近甚至有人把它組裝在了T恤上.借助這些日益普及的傳播工具,“俄羅斯方塊”很快成為無人不知無人不玩的經典游戲.盡管這個曾廣為流傳的游戲現在已淡出玩家視線,但細細辨析并研究其中蘊含的一些數據規律,以及相關的數學問題,仍具追思意味和現實意義.
俄羅斯方塊的游戲空間是一個寬為10、高為20的矩形.游戲里共有7種方塊(如圖)不斷隨機下落,根據它們的形狀分別命名為I, J, L, O, S, T, Z.玩家需要調整變換方塊使之填放到合適位置,被填滿的1行至4行將自動消除.一次性消除的行數越多,得分就越高.
在游戲過程中,一次消去1行得100分…①,一次消去2行得300分…②,一次消去3行得600分…③,一次消去4行得1000分…④,從這些數據中可以發現,在各種情況下,每行消去后的得分并不是恒定不變的,換句話說,一次的得分與消掉的行數的比有所變化.①式中的得分與消掉的行數的比是100∶1;②式中的得分與消掉的行數的比是150∶1;③式中的得分與消掉的行數的比是200∶1;④式中的得分與消掉的行數的比是250∶1.顯然它們的比值是呈遞增形式的,而且依次增值的數額是50.這是從單行得分數上去分析的,如果我們從總得分上來分析,可發現100、300、600、1000的變化規律是300-100=200,600-300=300,1000-600=400,相鄰兩個數間的差額也是呈遞增形式的,而且依次增值的數額是100.這兩條規律都說明同一個事實:如果一次聚積到2行、3行,甚至是4行消掉的話,那得分會比一行一行消去的分數要多得多.此游戲就是鼓勵玩家盡可能拼成完整的幾行一塊兒消去,這樣積分增加的速度會大大提高.這就是老玩家經常大比分獲勝的訣竅所在.
而另一個令人沮喪的事實是:隨著被消除總行數的增加,方塊下落速度會越來越快.一旦某個方塊放置后超出了場地高度界限,游戲便告結束.無論新老玩家,有多少竅門或熟練手法,到最后都無法避免手忙腳亂左右不能顧及的局面,只能在搖頭嘆息中從頭再來.由此,“俄羅斯方塊”引出的第一個數學問題是:如果玩家的技術足夠高,游戲是否永遠也不會結束?1988年,約翰?布魯托斯基的一篇論文指出,若“S”型和“Z”型方塊以適當的間隔交替出現時,游戲區域中將不可避免地出現越來越多無法消去的行,最終導致游戲結束.雖然這種情況發生的概率并不高,但考慮到問題的假設——游戲的無限操作,這樣的情形肯定會出現,因此理論上問題的答案是否定的.
如果說以上解釋略顯模糊,那么下面問題的答案就非常確定.“俄羅斯方塊”有7種方塊,每種方塊都由4個小方格組成,即它們的總面積為28.如果每塊只能用一次,并允許翻轉,請問你能用它們拼出4×7的長方形(如圖1)嗎?
對這個問題的巧妙解答可借助染色策略.即將圖1的每個小方格用黑白兩色相間染色(如圖2) ,黑白小方格的數量相同,各14個,這就表明,七種俄羅斯方塊如果能夠拼成圖2,那么它們蓋住的黑白方格數必須相等.而對于游戲中7種俄羅斯方塊,稍加試驗可知:I, J, L, O, S, Z無論如何擺放,都各蓋住兩個黑色小方格與兩個白色小方格,但“T”型方塊無論如何擺放,都一定蓋住一個黑色小方格和三個白色小方格或一個白色小方格和三個黑色小方格.正由于“T”型方塊所占的黑白格子個數始終不等,才導致這7種俄羅斯方塊蓋住的小方格與白色小方格的數量不可能相等,這就說明用7種俄羅斯方塊拼成圖(1)是不可能的.
不難理解的是,7個俄羅斯方塊可以拼成圖3,因為特殊的“T”型方塊對應放在了特殊的位置——突出的一塊.如此一來,這7種俄羅斯方塊恰好能構成一個平面鑲嵌(如果一組幾何圖形能夠既無重疊又無空缺地填滿整個平面,我們就把它稱作一種平面鑲嵌).
也正因為此,許多家裝公司的設計師別出心裁,把墻磚或地磚做成了圖3平鋪,巧妙運用“俄羅斯方塊”給居家生活帶來幾分創意(圖4).
類似的創意還體現在用“俄羅斯方塊”構成的各種趣味拼圖.比如:如何把6個“L”形狀的方塊擺放在一起,使得每個“L”恰好都和另外三個“L”相鄰?(答案如圖5);怎樣用奇數個“L”擺成一個軸對稱圖形?(如圖6).這些看起來極易上手,但實際操作起來卻困難重重的拼圖,充分體現了數學思維與空間想象的巧妙新穎.
(作者單位:江蘇省揚州職業大學師范學院)