基于Java的俄羅斯方塊小游戲的設(shè)計與實現(xiàn),附源碼+文檔,適合課程設(shè)計、畢業(yè)設(shè)計

1、項目介紹
俄羅斯方塊游戲設(shè)計的核心就是利用一個指定二維數(shù)組的的值來表示方塊的位置 ,然后通過該值來判斷是否在游戲窗口內(nèi)相應(yīng)的正方形矩形內(nèi)畫出相應(yīng)的方塊。
把每個小方塊抽象成一個類Diamond,該類具有的屬性有:位置坐標xy、在主窗口顯示的圖片名稱images、所屬方塊Diamonds、是否是活動狀態(tài)activate等。該類還持有Main類的引用,極大的簡化的編碼的復雜度。
把每個下落的方塊抽象成一個接口Diamonds,該接口定義了向左右移動、加速下落、方塊變形、繪圖、取得Diamond引用等方法。
BaseDiamonds類實現(xiàn)了Diamonds接口,并實現(xiàn)了接口里面的所有方法。該類持有四個Diamond類的引用,通過組合的方式實現(xiàn)了整個的俄羅斯方塊(每個俄羅斯方塊由四個小方塊Diamond組成)。該類還有一個屬性用來存儲該方塊四個Diamond對象的坐標值,該屬性在該類的構(gòu)造函數(shù)里面初始化。
考慮到每個方塊的形狀都不一樣,因此如果要設(shè)計一個新方塊類的時候,繼承BaseDiamonds類,直接在構(gòu)造器里傳入四個小方塊的相對坐標即可。
由于俄羅斯方塊游戲需要自動產(chǎn)生不同的方塊并且自動下落,而且需要使用鍵盤來控制方塊的左右移動、加速以及變形等。因此,該游戲的設(shè)計需要使用多線程以及swing的消息處理機制。從多線程的角度考慮,主線程控制游戲的啟動,另啟動兩個線程A、B。線程A控制方塊的自由下落;線程B控制游戲窗口的實時刷新。
2、技術(shù)框架
運行系統(tǒng):windows
編程語言:java
系統(tǒng)架構(gòu):gui界面
系統(tǒng)框架:Swing
數(shù)據(jù)庫:無
Maven項目:否
運行環(huán)境:JDK8+idea
3、演示視頻
B站演示視頻:基于Java的俄羅斯方塊小游戲的設(shè)計與實現(xiàn),附源碼+文檔,適合課程設(shè)計、畢業(yè)設(shè)計_嗶哩嗶哩_bilibili
4、項目截圖



5、文檔截圖



