小游戏俄罗斯方块代码JAVAWord下载.docx
- 文档编号:16008361
- 上传时间:2022-11-17
- 格式:DOCX
- 页数:27
- 大小:20.29KB
小游戏俄罗斯方块代码JAVAWord下载.docx
《小游戏俄罗斯方块代码JAVAWord下载.docx》由会员分享,可在线阅读,更多相关《小游戏俄罗斯方块代码JAVAWord下载.docx(27页珍藏版)》请在冰豆网上搜索。
"
staticLabelinfoLab=newLabel("
提示:
staticLabelspeedLab=newLabel("
级数:
staticLabelscoreTex=newLabel("
0"
staticLabelinfoTex=newLabel("
"
staticLabelspeedTex=newLabel("
1"
staticJFramejf=newJFrame();
staticMyTimertimer;
staticImageIconicon=newImageIcon("
resource/Block.jpg"
staticJMenuBarmb=newJMenuBar();
staticJMenumenu0=newJMenu("
游戏"
staticJMenumenu1=newJMenu("
帮助"
staticJMenuItemmi0=newJMenuItem("
新游戏"
staticJMenuItemmi1=newJMenuItem("
退出"
staticJMenuItemmi1_0=newJMenuItem("
关于"
staticJDialogdlg_1;
staticJTextAreadlg_1_text=newJTextArea();
staticintstartSign=0;
//游戏开始标志0未开始1开始2暂停
staticStringbutLab[]={"
开始游戏"
"
重新开始"
降低级数"
提高级数"
游戏暂停"
退出游戏"
};
staticintgame_body[][]=newint[19][10];
staticintgame_sign_x[]=newint[4];
//用于记录4个方格的水平位置
staticintgame_sign_y[]=newint[4];
//用于记录4个方格的垂直位置
staticbooleandownSign=false;
//是否落下
staticintblockNumber=1;
//砖块的编号
staticintgameScore=0;
//游戏分数
staticintspeedMark=1;
publicstaticvoidmain(Stringargs[])
BlockmyBlock=newBlock();
mb.add(menu0);
mb.add(menu1);
menu0.add(mi0);
menu0.add(mi1);
menu1.add(mi1_0);
jf.setJMenuBar(mb);
myBlock.init();
jf.add(myBlock);
jf.setSize(565,501);
jf.setResizable(false);
jf.setTitle("
俄罗斯方块"
jf.setIconImage(icon.getImage());
jf.setLocation(200,100);
jf.show();
timer=newMyTimer(myBlock);
//启动线程
timer.setDaemon(true);
timer.start();
timer.suspend();
}
publicvoidinit()
setLayout(null);
for(inti=0;
i<
6;
i++)
{
but[i]=newButton(butLab[i]);
add(but[i]);
but[i].addActionListener(this);
but[i].addKeyListener(this);
but[i].setBounds(360,(240+30*i),160,25);
}
add(scoreLab);
add(scoreTex);
add(speedLab);
add(speedTex);
add(infoLab);
add(infoTex);
scoreLab.setBounds(320,15,30,20);
scoreTex.setBounds(360,15,160,20);
scoreTex.setBackground(Color.white);
speedLab.setBounds(320,45,30,20);
speedTex.setBounds(360,45,160,20);
speedTex.setBackground(Color.white);
but[1].setEnabled(false);
but[4].setEnabled(false);
infoLab.setBounds(320,75,30,20);
infoTex.setBounds(360,75,160,20);
infoTex.setBackground(Color.white);
noStop.setBounds(360,360,160,25);
noStop.addActionListener(this);
noStop.addKeyListener(this);
mi0.addActionListener(this);
mi1.addActionListener(this);
mi1_0.addActionListener(this);
num_csh_game();
rand_block();
publicvoidactionPerformed(ActionEvente)
if(e.getSource()==but[0])//开始游戏
startSign=1;
infoTex.setText("
游戏已经开始!
but[0].setEnabled(false);
but[1].setEnabled(true);
but[4].setEnabled(true);
timer.resume();
if(e.getSource()==but[1]||e.getSource()==mi0)//重新开始游戏
startSign=0;
gameScore=0;
num_csh_restart();
repaint();
rand_block();
scoreTex.setText("
新游戏!
but[0].setEnabled(true);
but[1].setEnabled(false);
but[4].setEnabled(false);
if(e.getSource()==but[2])//降低级数
降低级数!
speedMark--;
if(speedMark<
=1)
speedMark=1;
已经是最低级数!
speedTex.setText(speedMark+"
if(e.getSource()==but[3])//提高级数
提高级数!
speedMark++;
if(speedMark>
=9)
speedMark=9;
已经是最高级数!
if(e.getSource()==but[4])//游戏暂停
this.add(noStop);
this.remove(but[4]);
游戏暂停!
if(e.getSource()==noStop)//取消暂停
this.remove(noStop);
this.add(but[4]);
继续游戏!
if(e.getSource()==but[5]||e.getSource()==mi1)//退出游戏
jf.dispose();
if(e.getSource()==mi1_0)//退出游戏
dlg_1=newJDialog(jf,"
关于"
try{
FileInputStreamio=newFileInputStream("
resource/guanyu.txt"
//得到路径
bytea[]=newbyte[io.available()];
io.read(a);
io.close();
Stringstr=newString(a);
dlg_1_text.setText(str);
catch(Exceptiong){}
dlg_1_text.setEditable(false);
dlg_1.add(dlg_1_text);
dlg_1.pack();
dlg_1.setResizable(false);
dlg_1.setSize(200,120);
dlg_1.setLocation(400,240);
dlg_1.show();
publicvoidrand_block()//随机产生砖块
intnum;
num=(int)(Math.random()*6)+1;
//产生0~6之间的随机数
blockNumber=num;
switch(blockNumber)
case1:
block1();
blockNumber=1;
break;
case2:
block2();
blockNumb
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 小游戏 俄罗斯方块 代码 JAVA