摘要:俄羅斯方塊游戲很有趣味性,游戲吸引人的地方在于幾個不規(guī)則的圖形變化。那不規(guī)則圖形能否完全覆蓋全部空間呢,在理論上能得到結(jié)論嗎?文中試著對L形方塊入手,從理論上給出它能充滿游戲空間的條件。
關(guān)鍵詞:俄羅斯方塊;L形方塊;完全覆蓋
中圖分類號:TP311文獻(xiàn)標(biāo)識碼:A文章編號:1009-3044(2008)12-20ppp-0c
The Condition of Russia-Block are Covered with L-shape Squares
ZHAO Fu-sheng
(Shenyang Normal University, Drama Art College, Foundation Department, Liaoning Prov., Shenyang 110034, China)
Abstract: Russia-block game is very interesting , the game is so attractive that we owe it to several irregular figures. Whether that irregular artwork can cover all space completely, or can we draw a conclusion in theory? The article narrows the focus to L-shape square and we try to find the answer theoretically that it covers all room.
Key words: Russia-Block; L-shape Square; cover completely
很多人都玩過一款經(jīng)典的小游戲——俄羅斯方塊,我不知道你是不是玩到過盡頭,通過了所有的關(guān)卡??梢钥隙?,很多人都是有“死”的時候,或是從沒玩到過盡頭吧!那是我們技術(shù)不過硬,還是游戲本身設(shè)置得不能玩到頭呢?我尚且不知道這個答案,因為游戲里有5種方塊,如圖1~圖5,若游戲本身只有圖1和圖2,則游戲會很簡單且毫無意義,它的趣味性就在于幾個不規(guī)則圖形。我在想:如果游戲只有圖3(L形方塊),是不是也會變得很簡單呢?不是的,如果你隨意擺放L形方塊,肯定會“死”。下面是我的證明過程。
俄羅斯方塊的空間是用矩陣,其實就是數(shù)組(稱之為數(shù)組空間)構(gòu)建起來的,5種方塊也是數(shù)組,方塊的旋轉(zhuǎn)是數(shù)組的倒序排列,更多的計算機編程方法不在此討論,我從靠近數(shù)學(xué)的方面給出L形方塊填滿全部空間的充要條件。這款游戲的實質(zhì)就是5種方塊的數(shù)組怎樣擺放能完全覆蓋數(shù)組空間?,F(xiàn)只觀察圖3,方格數(shù)為4個,設(shè)俄羅斯方塊空間是m×n格(數(shù)組的每一單元是一個格),則L形方塊若能完全覆蓋數(shù)組空間,m×n必是4的倍數(shù),即m×n=4k1(m>1,n>1,k1>1)。于是數(shù)組空間至少有一個方向(設(shè)為列方向)的格數(shù)為偶,為便于分析,把空間隔行染成黑白兩色,每行諸格同色,得到全盤的黑格數(shù)=白格數(shù)=mn/2。此時任意位置的L形方格必然覆蓋3個黑格1個白格或3個白格1個黑格。令前者有a片,后者有b片,有如下等式:3a+b=3b+a=mn/2.所以a=b,即必須同時存在偶數(shù)片的L形方格,或者說至少同時有2片L形方格,那么把2片L形方格看作一個整體,得到8個方格,從而m×n一定是8的倍數(shù),即m×n=8k2。進(jìn)而給出m×n格盤的以下覆蓋方法:m,n皆為偶數(shù)時,令m=4p,n=2q,則m×n=4p×2q=8pq=pq(4×2),屬于4×2格盤;m,n之一為奇數(shù)時,設(shè)m=8p,n=2q+3,則m×n=8p×(2q+3)=2pq(4×2)+p(8×3),屬于8×3格盤。得出結(jié)論,只有在這2種情況下,L形方格才會完全覆蓋俄羅斯方塊的空間。簡易覆蓋圖如圖6、圖7。
參考文獻(xiàn):
[1] 田秋成. 組合數(shù)學(xué)(第1版)[M].北京:電子工業(yè)出版社,2006.
[2] 嚴(yán)尉敏,吳偉民. 數(shù)據(jù)結(jié)構(gòu)(C語言版 第1版)[M]. 北京:清華大學(xué)出版社,1997.
收稿日期:2008-03-05
作者簡介:趙福生(1978-),男,助教,遼寧沈陽人,研究方向:計算機基礎(chǔ)教育。