【Java版俄羅斯方塊】
增加保存配置資訊到檔案的功能,聲音設定、顯示設定、關卡選擇等配置資訊在修改后將會保存在jar包同級目錄下(以jar相同的檔案名+.cfg后綴保存)
【選單選項】
也做了不少選單選項
可自定義控制鍵,可設定單色彩色顯示,可設定網格是否顯示網格
關卡有三組選擇:
標準關卡:難度中等,7種基本形狀,共分2級,50000分一級,速度遞增,下落一格的速度每2000分減少10毫秒
速度關卡:難度較大,7種基本形狀,共分10級,10000分一級,速度快且隨著分數的增加而遞增
復雜性關卡:難度較大,共分10級,8000分一級,隨著級別越高復雜度越來越大,會出現隨機填充的障礙物,以及難以應付的復雜形狀,到第4級以后會出現16種基本形狀,夠你難受的了
【已知Bug】
1. 偶爾會出在現形狀下落的程序中形狀的某一塊沒有被擦除掉,原因不明
可能原因為,程式在重繪視圖時并沒有全部擦除重畫,只是根據形狀在上一次的顯示位置將這一小塊重畫了一個空塊以覆寫
仔細測驗過,后臺明明執行了這個程序,視圖卻沒有被擦除掉,不知是不是JDK的問題
2. 一直按住回車鍵,程式將在開始游戲和結束游戲之間不停切換,偶爾會出現蒙層未蓋住形狀的問題
蒙層:程式會在游戲暫停時蒙上一層淡藍色,而在游戲停止時蒙上一層淡紅色
【關于俄羅斯方塊游戲】
游戲簡介
俄羅斯方塊是一款益智方塊類游戲,
這款游戲最初是由蘇聯的電腦科學家帕吉特諾夫(Alex Pajitnov)于1985年制作的,
作者給了他一個源自希臘字4(tetra)的名字Tetris,
1989年由任天堂于發行GameBoy版,推出后風靡全球,成為益智方塊型別游戲中知名度最高的一款,
它看似簡單但卻變化無窮,上手極其容易,但是要熟練地掌握其中的操作與擺放技巧,難度卻不低,
玩法簡介
游戲具有一個用于擺放小方塊的平面虛擬場地,
一組由幾個小方塊組成的規則形狀(Tetromino),
游戲每次隨機輸出一種形狀到場地頂部,自動以一定的速度下落,
用戶在形狀的程序中可以控制形狀的左右移動及旋轉以將形狀填充到場地中,
直至形狀下落至場地底部或被場地中已有的方塊阻擋而不能再下落,
游戲再次輸出一個形狀,周而復始,
如果這次填充將場地的一行或多行完全填滿,則組成這些行的所有方塊將被消除,
并且以此來換取一定的積分獎勵,
而未被消除的方塊會一直累積,并對后來的形狀擺放造成各種影響,
如果下一個形狀的輸出位置已經被未消除的方塊所占據,則游戲結束,
【專案結構圖】

【啟動類代碼】
import java.util.Enumeration;
import javax.swing.UIManager;
import javax.swing.plaf.FontUIResource;
import tarzan.game.tetris.view.TetrisFrame;
import tarzan.game.tetris.global.Config;
/**
* @author tarzan
*/
public class Tetris {
public static void main(String args[]) {
try {
// 更改應用程式的默認外觀
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
// 更改應用程式的默認字體
Enumeration keys = UIManager.getDefaults().keys();
while (keys.hasMoreElements()) {
Object key = keys.nextElement();
Object value = UIManager.get(key);
if (value instanceof FontUIResource)
UIManager.put(key, new FontUIResource(Config.CURRENT.getDefaultFont()));
}
TetrisFrame tetris = new TetrisFrame();
tetris.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
}
游戲截圖


完整代碼下載地址
https://download.csdn.net/download/weixin_40986713/21751470
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/296954.html
標籤:其他
下一篇:python 股票盯盤v2.0
