1、小游戏俄罗斯方块代码JAVA东西绝对不多说,直接看!看了拷贝就懂了!,直接可以拷贝下面的东西,然后记得把那个BLOCK的名字改成你自己的类名,这个很关键哦,不然是错的可别怪我,呵呵importjava.awt.*;importimportjavax.swing.*;importjava.applet.*;import.*;importjava.lang.*;importjava.io.*;publicclassBlockextendsJPanelimplementsActionListener,KeyListener/应该是继承JPanelstaticButtonbut=newButton6;
2、staticButtonnoStop=newButton(取消暂停);staticLabelscoreLab=newLabel(分数:);staticLabelinfoLab=newLabel(提示:);staticLabelspeedLab=newLabel(级数:);staticLabelscoreTex=newLabel(0);staticLabelinfoTex=newLabel();staticLabelspeedTex=newLabel(1);staticJFramejf=newJFrame();staticMyTimertimer;staticImageIconicon=newI
3、mageIcon(resource/Block.jpg);staticJMenuBarmb=newJMenuBar();staticJMenumenu0=newJMenu(游戏);staticJMenumenu1=newJMenu(帮助);staticJMenuItemmi0=newJMenuItem(新游戏);staticJMenuItemmi1=newJMenuItem(退出);staticJMenuItemmi1_0=newJMenuItem(关于);staticJDialogdlg_1;staticJTextAreadlg_1_text=newJTextArea();staticint
4、startSign=0;/游戏开始标志0未开始1开始2暂停staticStringbutLab=开始游戏,重新开始,降低级数,提高级数,游戏暂停,退出游戏;staticintgame_body=newint1910;staticintgame_sign_x=newint4;/用于记录4个方格的水平位置staticintgame_sign_y=newint4;/用于记录4个方格的垂直位置staticbooleandownSign=false;/是否落下staticintblockNumber=1;/砖块的编号staticintgameScore=0;/游戏分数staticintspeedMark
5、=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
6、);jf.show();timer=newMyTimer(myBlock);/启动线程timer.setDaemon(true);timer.start();timer.suspend();publicvoidinit()setLayout(null);for(inti=0;i6;i+)buti=newButton(butLabi);add(buti);buti.addActionListener(this);buti.addKeyListener(this);buti.setBounds(360,(240+30*i),160,25);add(scoreLab);add(scoreTex);a
7、dd(speedLab);add(speedTex);add(infoLab);add(infoTex);add(scoreLab);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);but1.setEnabled(false);but4
8、.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
9、_csh_game();rand_block();publicvoidactionPerformed(ActionEvente)if(e.getSource()=but0)/开始游戏startSign=1;infoTex.setText(游戏已经开始!);but0.setEnabled(false);but1.setEnabled(true);but4.setEnabled(true);timer.resume();if(e.getSource()=but1|e.getSource()=mi0)/重新开始游戏startSign=0;gameScore=0;timer.suspend();num
10、_csh_restart();repaint();rand_block();scoreTex.setText(0);infoTex.setText(新游戏!);but0.setEnabled(true);but1.setEnabled(false);but4.setEnabled(false);if(e.getSource()=but2)/降低级数infoTex.setText(降低级数!);speedMark-;if(speedMark=9)speedMark=9;infoTex.setText(已经是最高级数!);speedTex.setText(speedMark+);if(e.getS
11、ource()=but4)/游戏暂停this.add(noStop);this.remove(but4);infoTex.setText(游戏暂停!);timer.suspend();if(e.getSource()=noStop)/取消暂停this.remove(noStop);this.add(but4);infoTex.setText(继续游戏!);timer.resume();if(e.getSource()=but5|e.getSource()=mi1)/退出游戏jf.dispose();if(e.getSource()=mi1_0)/退出游戏dlg_1=newJDialog(jf,
12、关于);tryFileInputStreamio=newFileInputStream(resource/guanyu.txt);/得到路径bytea=newbyteio.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);dl
13、g_1.setLocation(400,240);dlg_1.show();publicvoidrand_block()/随机产生砖块intnum;num=(int)(Math.random()*6)+1;/产生06之间的随机数blockNumber=num;switch(blockNumber)case1:block1();blockNumber=1;break;case2:block2();blockNumber=2;break;case3:block3();blockNumber=3;break;case4:block4();blockNumber=4;break;case5:block
14、5();blockNumber=5;break;case6:block6();blockNumber=6;break;case7:block7();blockNumber=7;break;publicvoidchange_body(intblockNumber)/改变砖块状态dingwei();if(blockNumber=1&downSign=false)/变换长条2种情况if(game_sign_y0=game_sign_y1&game_sign_y3=1&game_sign_x3=1)if(game_bodygame_sign_y0+1game_sign_x0-1!=2&game_bod
15、ygame_sign_y2-1game_sign_x2+1!=2&game_bodygame_sign_y3-2game_sign_x3!=2)num_csh_game();game_bodygame_sign_y0+1game_sign_x0-1=1;game_bodygame_sign_y1game_sign_x1=1;game_bodygame_sign_y2-1game_sign_x2+1=1;game_bodygame_sign_y3-2game_sign_x3=1;infoTex.setText(游戏进行中!);repaint();if(game_sign_y1=game_sign
16、_y2&game_sign_y2=game_sign_y3&game_sign_x0=game_sign_x3&game_sign_y1=17)if(game_bodygame_sign_y0game_sign_x0-2!=2&game_bodygame_sign_y1+1game_sign_x1+1!=2&game_bodygame_sign_y3-1game_sign_x3-1!=2)num_csh_game();game_bodygame_sign_y0game_sign_x0-2=1;game_bodygame_sign_y1+1game_sign_x1+1=1;game_bodyga
17、me_sign_y2game_sign_x2=1;game_bodygame_sign_y3-1game_sign_x3-1=1;infoTex.setText(游戏进行中!);repaint();if(game_sign_x1=game_sign_x2&game_sign_x1=game_sign_x3&game_sign_y0=game_sign_y1&game_sign_x3=8)if(game_bodygame_sign_y0+2game_sign_x0!=2&game_bodygame_sign_y1+1game_sign_x1-1!=2&game_bodygame_sign_y3-
18、1game_sign_x3+1!=2)num_csh_game();game_bodygame_sign_y0+2game_sign_x0=1;game_bodygame_sign_y1+1game_sign_x1-1=1;game_bodygame_sign_y2game_sign_x2=1;game_bodygame_sign_y3-1game_sign_x3+1=1;infoTex.setText(游戏进行中!);repaint();if(game_sign_y0=game_sign_y1&game_sign_y1=game_sign_y2&game_sign_x0=game_sign_
19、x3)if(game_bodygame_sign_y0+1game_sign_x0+1!=2&game_bodygame_sign_y2-1game_sign_x2-1!=2&game_bodygame_sign_y3game_sign_x3+2!=2)num_csh_game();game_bodygame_sign_y0+1game_sign_x0+1=1;game_bodygame_sign_y1game_sign_x1=1;game_bodygame_sign_y2-1game_sign_x2-1=1;game_bodygame_sign_y3game_sign_x3+2=1;info
20、Tex.setText(游戏进行中!);repaint();if(blockNumber=4&downSign=false)/变换转弯2有4种情况if(game_sign_x0=game_sign_x1&game_sign_x0=game_sign_x3&game_sign_y1=game_sign_y2&game_sign_x3=2)if(game_bodygame_sign_y0game_sign_x0-2!=2&game_bodygame_sign_y2-1game_sign_x2-1!=2&game_bodygame_sign_y3-2game_sign_x3!=2)num_csh_g
21、ame();game_bodygame_sign_y0game_sign_x0-2=1;game_bodygame_sign_y1game_sign_x1=1;game_bodygame_sign_y2-1game_sign_x2-1=1;game_bodygame_sign_y3-2game_sign_x3=1;infoTex.setText(游戏进行中!);repaint();if(game_sign_y0=game_sign_y1&game_sign_y0=game_sign_y2&game_sign_x1=game_sign_x3&game_sign_y0=16)if(game_bodygame_sign_y0+2game_sign_x0!=2&game_bodygame_sign_y1+1game_sign_x1-1!=2&game_bodygame_sign_y2game_sign_x2-2!=2)num_csh_game();game_bodygame_sign_y0+2game_sign_x0=1;game_bodygame_sign_y1+1game_sign_x1-1=1;game_bodygame_sign_y2game_sign_
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1