java開發俄羅斯方塊學習筆記 Day-6 佈局

我心好慌發表於2015-12-20
	今天完成全部窗體的設計,從遊戲介面可以看到需要設計8個不同的窗體,首先進行主窗體的設計,也就是遊戲窗體。在設計遊戲窗體時,需要認識到小方塊尺寸為32*32,邊框寬度為7,遊戲視窗為16:9,經過計算主視窗寬度為32*10+14=334,高度為32*18+14=590,要設計出來的邊框好看,設定邊框寬度都相等,視窗之間的間距也相等。由最外面的邊框寬度為654,根據16:9可以求得長度為1162.然後依次可以求得各個視窗的左上角定點座標和視窗的寬和高。

由於在繪製視窗時都呼叫相同的繪圖方法,都在new一個相同的物件,如果程式裡在反覆用相同的一個類建立的物件的時候,就要想到使用陣列,避免重複書寫繪圖方法。
package ui;

import java.awt.Graphics;
import javax.swing.JPanel;

public class PanelGame extends JPanel{

private Lay[] lays=null;
public PanelGame(){
lays=new Lay[]{
//硬編碼,是非常不好的開發習慣
//我們要儘量將數字或字串定義成常量,或者寫入配置檔案
new Lay(40,32,334,279),
new Lay(40,343,334,279),
new Lay(414,32,334,590),
new Lay(788,32,334,124),
new Lay(788,188,176,148),
new Lay(964,188,158,148),
new Lay(788,368,334,200)
};
}
@Override //表示下面的方法要覆蓋父類的方法
public void paintComponent(Graphics g){
//迴圈重新整理遊戲畫面
for(int i=0;i<lays.length;i++){
//重新整理層視窗
lays[i].creatWindow(g);
}
}
}

相關文章