吴忠躺衫网络科技有限公司

您好,歡迎來(lái)電子發(fā)燒友網(wǎng)! ,新用戶(hù)?[免費(fèi)注冊(cè)]

您的位置:電子發(fā)燒友網(wǎng)>源碼下載>java源碼下載>

俄羅斯方塊——java源代碼提供

大小:278 人氣: 2010-02-10 需要積分:0
而無(wú)返還的空間

用戶(hù)級(jí)別:注冊(cè)會(huì)員

貢獻(xiàn)文章:

貢獻(xiàn)資料:

俄羅斯方塊——java源代碼提供

?
import java.awt.*;
import java.awt.event.*;
//俄羅斯方塊類(lèi)
public class ERS_Block extends Frame{
public static boolean isPlay=false;
public static int level=1,score=0;
public static TextField scoreField,levelField;

public static MyTimer timer;
GameCanvas gameScr;

public static void main(String[] argus){
ERS_Block ers = new ERS_Block("俄羅斯方塊游戲 V1.0 Author:Vincent");
WindowListener win_listener = new WinListener();
ers.addWindowListener(win_listener);
}

//俄羅斯方塊類(lèi)的構(gòu)造方法
ERS_Block(String title){
super(title);

setSize(600,480);
setLayout(new GridLayout(1,2));

gameScr = new GameCanvas();
gameScr.addKeyListener(gameScr);

timer = new MyTimer(gameScr);
timer.setDaemon(true);
timer.start();
timer.suspend();

add(gameScr);

Panel rightScr = new Panel();
rightScr.setLayout(new GridLayout(2,1,0,30));
rightScr.setSize(120,500);
add(rightScr);

//右邊信息窗體的布局
MyPanel infoScr = new MyPanel();
infoScr.setLayout(new GridLayout(4,1,0,5));
infoScr.setSize(120,300);
rightScr.add(infoScr);

//定義標(biāo)簽和初始值
Label scorep = new Label("分?jǐn)?shù):",Label.LEFT);
Label levelp = new Label("級(jí)數(shù):",Label.LEFT);
scoreField = new TextField(8);
levelField = new TextField(8);
scoreField.setEditable(false);
levelField.setEditable(false);
infoScr.add(scorep);
infoScr.add(scoreField);
infoScr.add(levelp);
infoScr.add(levelField);
scorep.setSize(new Dimension(20,60));
scoreField.setSize(new Dimension(20,60));
levelp.setSize(new Dimension(20,60));
levelField.setSize(new Dimension(20,60));
scoreField.setText("0");
levelField.setText("1");

//右邊控制按鈕窗體的布局
MyPanel controlScr = new MyPanel();
controlScr.setLayout(new GridLayout(5,1,0,5));
rightScr.add(controlScr);

//定義按鈕play
Button play_b = new Button("開(kāi)始游戲");
play_b.setSize(new Dimension(50,200));
play_b.addActionListener(new Command(Command.button_play,gameScr));

//定義按鈕Level UP
Button level_up_b = new Button("提高級(jí)數(shù)");
level_up_b.setSize(new Dimension(50,200));
level_up_b.addActionListener(new Command(Command.button_levelup,gameScr));

//定義按鈕Level Down
Button level_down_b =new Button("降低級(jí)數(shù)");
level_down_b.setSize(new Dimension(50,200));
level_down_b.addActionListener(new Command(Command.button_leveldown,gameScr));

//定義按鈕Level Pause
Button pause_b =new Button("游戲暫停");
pause_b.setSize(new Dimension(50,200));
pause_b.addActionListener(new Command(Command.button_pause,gameScr));

//定義按鈕Quit
Button quit_b = new Button("退出游戲");
quit_b.setSize(new Dimension(50,200));
quit_b.addActionListener(new Command(Command.button_quit,gameScr));

controlScr.add(play_b);
controlScr.add(level_up_b);
controlScr.add(level_down_b);
controlScr.add(pause_b);
controlScr.add(quit_b);
setVisible(true);
gameScr.requestFocus();
}
}

//重寫(xiě)MyPanel類(lèi),使Panel的四周留空間
class MyPanel extends Panel{
public Insets getInsets(){
return new Insets(30,50,30,50);
}
}

//游戲畫(huà)布類(lèi)
class GameCanvas extends Canvas implements KeyListener{
final int unitSize = 30; //小方塊邊長(zhǎng)
int rowNum; //正方格的行數(shù)
int columnNum; //正方格的列數(shù)
int maxAllowRowNum; //允許有多少行未削
int blockInitRow; //新出現(xiàn)塊的起始行坐標(biāo)
int blockInitCol; //新出現(xiàn)塊的起始列坐標(biāo)
int [][] scrArr; //屏幕數(shù)組
Block b; //對(duì)方快的引用

//畫(huà)布類(lèi)的構(gòu)造方法
GameCanvas(){
rowNum = 15;
columnNum = 10;
maxAllowRowNum = rowNum - 2;
b = new Block(this);
blockInitRow = rowNum - 1;
blockInitCol = columnNum/2 - 2;
scrArr = new int [32][32];
}

//初始化屏幕,并將屏幕數(shù)組清零的方法
void initScr(){
for(int i=0;ifor (int j=0; jscrArr[j]=0;
b.reset();
repaint();
}

//重新刷新畫(huà)布方法
public void paint(Graphics g){
for(int i = 0; i < rowNum; i++)
for(int j = 0; j < columnNum; j++)
drawUnit(i,j,scrArr[j]);

非常好我支持^.^

(0) 0%

不好我反對(duì)

(3) 100%

      發(fā)表評(píng)論

      用戶(hù)評(píng)論
      評(píng)價(jià):好評(píng)中評(píng)差評(píng)

      發(fā)表評(píng)論,獲取積分! 請(qǐng)遵守相關(guān)規(guī)定!

      ?
      百家乐怎么开户| 大发888娱乐城客户端下载| 鄄城县| 真人百家乐娱乐好玩| 赌博运气| 百家乐连线游戏下载| 城固县| 最好的百家乐博彩网站| 网络百家乐官网娱乐| 百家乐模拟分析程序| 大埔县| 百家乐免费下| 百家乐官网光纤洗牌机如何做弊| 百家乐赌博大揭密| 金榜百家乐官网现金网| 网上百家乐是真是假天涯论坛| 百家乐官网折叠桌| 威尼斯人娱乐城 196| 百家乐官网庄闲符号记| 威尼斯人娱乐城品牌| 嘉禾百家乐官网的玩法技巧和规则| 威尼斯人娱乐场 送2688元礼金领取lrm64 | 威尼斯人娱乐场荷官| 真人百家乐官网游戏网| 澳门博彩8345cc| 大发888新闻| 网上百家乐真实吗| 百家乐官网的破解方法| 大都会百家乐的玩法技巧和规则| 博九网| 百家乐网盛世三国| 澳门百家乐官网现场游戏| 大发888下载 客户端| 做生意风水方向怎么看| 百家乐官网有免费玩| 威尼斯人娱乐城吃饭| 博彩网百家乐官网的玩法技巧和规则| 尊爵| 百家乐网上真钱赌场娱乐网规则| 永利百家乐官网赌场娱乐网规则 | 百家乐对付抽水|