2014年2月14日 星期五

JavaFX Tetris

俄羅斯方塊 (Tetris) 最初是由蘇聯的Alexey Leonidovich Pajitnov (Алексе́й Леони́дович Па́житнов) 於1984年6月6日首次發佈,Tetris一詞是由希臘語的Tetra (四) 與Alex Pajitnov最喜歡的運動Tennis (網球) 所組成,其中Tetra代表每一個骨牌均由四個方塊所組成,下圖為1984年執行於Soviet DVK-2模擬器的版本 (資料來源:維基百科):
下圖為1986年執行於DOS作業系統的IBM PC版本 (資料來源:維基百科):
後續出現許多不同的變化,如3D立體俄羅斯、決戰俄羅斯、鑽石俄羅斯等,另外也有手機與平版等不同的版本,雖然樣式不同,但其原理均大同小異。下圖為3D立體俄羅斯 (資料來源:維基百科):
傳統的俄羅斯方塊由以下的骨牌 (Tetrimino) 所構成,每一個骨牌均由四個方塊組成,依據Alex Pajitnov的命名,由上而下、由左至右依序分別為I、J、L、O、S、T、Z:
其顏色分別為淡青色 (Cyan)、藍色 (Blue)、橘色 (Orange)、黃色 (Yellow)、青檸色 (Lime)、紅紫色 (Magenta) 與紅色 (Red),以下為各骨牌之RGB顏色組合:
  • I:Cyan (0, 240, 240)
  • J:Blue (0, 0, 240)
  • LOrange (240, 160, 0)
  • OYellow (240, 240, 0)
  • SLime (0, 240, 0)
  • TMagenta (160, 0, 240)
  • ZRed (240, 0, 0)
使用者需使用搖桿或鍵盤改變骨牌的位置或旋轉骨牌的方向,以鍵盤為例,分別如下表所示:
  • 左右鍵:骨牌水平左右移動
  • 向上鍵:旋轉骨牌
  • 向下鍵骨牌垂直向下掉落
  • 空白鍵骨牌垂直向下掉落
當以向上鍵控制骨牌時,骨牌會以下列順序旋轉:
當骨牌落至底部時,若骨牌組成一橫列,則可消去,不同的骨牌清除的列數不同。I骨牌最多能清除4列、J與L骨牌最多能清除3列、其餘的骨牌最多只能清除2列。遊戲並會在右側預覽畫面中提示下一個將要落下的骨牌,使用者可由提示評估遊戲如何進行,隨著遊戲進行,骨牌的落下速度也會愈來愈快。

以下為初級JavaFX Tetris與Game Over畫面
Basic Level
Game Over

以下為中級JavaFX Tetris
Medium Level

以下範例將方塊狀的骨牌改為圓形骨牌,增加遊戲的多樣化:
Tetris with Circle Tetrimino

以下範例將骨牌改為圖像,更增加遊戲的難度:
Tetris with Image Tetrimino







© Chia-Hui Huang

沒有留言:

張貼留言