付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、东西绝对不多说,直接看!看了拷贝就懂了!,直接可以拷贝下面的东西,然后记得把那个BLOCK的名字改成你自己的类名,这个很关键哦,不然是错的可别怪我,呵呵import java.awt.*;importimportjavax.swi ng.*;import java.applet.*;import .*;import java.lang.*;import java.io.*;public class Blockexte ndsJPa nelimpleme ntsActi on Liste ner,KeyListe ner/应该是继承JPanelstaticButt onbut =new Butt
2、 on 6;staticButt onn oStop=new Butt on(取消暂停“);staticLabelscoreLab=new Label(分数:);staticLabelin foLab=new Label( 提示:);staticLabelspeedLab=new Label(级数:);staticLabelscoreTex=new Label(0);staticLabelin foTex=new Label( );staticLabelspeedTex=new Label(1);staticJFramejf = new JFrame();staticMyTimertimerJ
3、staticImageIc onicon= new ImageIc on(resource/Block.jpgstaticJMe nuBarmb =new JMe nuBar();staticJMe numenuO =new JMenu(游戏);staticJMe numenu1 =new JMenu(帮助);staticJMen uItemmi0 =new JMe nultem(新游戏);staticJMen uItemmi1 =new JMe nultem(退出“);staticJMen uItemmi1_0=new JMe nultem(关于);staticJDialogdlg_1Jst
4、aticJTextAreadlg_1_text= new JTextArea();staticintstartSig n=0;/游戏开始标志0未开始1开始2暂停staticStri ngbutLab =开始游戏“,重新开始“,降低级数,游戏暂停,“退出游戏;staticintgame_body=newint1910;staticintgame_sig n_x=newint4;/用于记录4个方格的水平位置staticintgame sign y=newint:/用于记录4个方格的垂直位置staticboolea ndow nSig n= false;/是否落下staticintblockNumb
5、er=1;/砖块的编号staticintgameScore=0;/游戏分数staticintspeedMark=1;publicstaticvoid mai n(Stri ng args),“提高级数Block myBlock =new Block();mb.add( menuO ); mb.add( menul ); menuO .add( miO );menuO .add( mil );menu1 .add( mi1_O );jf .setJMenuBar(mb);myBlock.i ni t();jf .add(myBlock);jf .setSize(565,501);.setResi
6、zable( false ); .setTitle( 俄罗斯方块); .setIconlmage( icon .getlmage();public void in it() setLayout(for ( intscoreLab .setBou nds(320,15,30,20);scoreTex .setBou nds(360,15,160,20);scoreTex .setBackgrou nd(Color.white);speedLab .setBou nds(320,45,30,20);speedTex .setBou nds(360,45,160,20);speedTex .setB
7、ackgrou nd(Color.white);but 1.setEnabled(false );but 4.setEnabled(false );in foLab.setBou nds(320,75,30,20);in foTex.setBou nds(360,75,160,20);jfjfjfjftimer.setLocati on (200,100);.show();new MyTimer(myBlock););/启动线程timertimer.setDaem on( true .start();timer.susp en d();jfn ull );i = 0;i 6;i+)buti=n
8、ew Butt on(butLab i);add(butbutbut i);i.addActi on Liste ner(i.addKeyListe ner(this );this );buti.setBou nds(360,(240 + 30 * i),160,25);add(add(scoreLabscoreTex););add(add(add(speedLabspeedTex infoLab);););add(add(in foTexscoreLab););in foTex.setBackgrou nd(Color.whiteno Stop.setBou nds(360,360,160,
9、25);no Stop.addActi on Liste ner(this );no Stop.addKeyListe ner(this );mi0 .addActionListener(this );mi1 .addActi on Liste ner(this );mi1_0.addActi on Liste ner(this );n um_csh_game();ran d_block();public void acti on Performed(Acti on Eve nt e)if (e.getSource()=startSig n= 1;in foTex .setText(but 0
10、.setEnabled(but 1.setEnabled(but4.setEnabled( timer .resume。;if (e.getSource()=startSig n= 0;gameScore = 0; timer .suspend();n um_csh_restart();repa in t();ran d_block();scoreTex .setText(in foTex .setText(but 0.setEnabled(but 1.setEnabled(but 4.setEnabled(if (e.getSource()=in foTex .setText( speedM
11、ark-;if ( speedMark = 9)speedMark = 9;in foTex.setText(已经是最高级数!);this .remove( but infoTex .setText( timer.suspe nd();if (e.getSource()=this .remove(noStop );jf .dispose。;if (e.getSource()=io.close();Stri ng str =dlg_1_textnew Stri ng(a);.setText(str);catch (Excepti on g)dlg_1_text .setEditable(dlg_
12、1 .pack();dlg_1 .setResizable( false );speedTex .setText(speedMark);if (e.getSource()=this .add( n oStopbut 4)/游戏暂停);dlg_1try new JDialog(jf ,关于);FileI nputStream io =路径byte a=io.read(a);new FileI nputStream(resource/gua nyu.txt);/得到new byte io.available();dlg_1 .add( dlg_1_text);4);游戏暂停!);noStop )
13、/取消暂停this .add( but 4); infoTex .setText( timer .resume();if (e.getSource()=继续游戏!);but 5|e.getSource()=mi1 ) /退岀游戏mi1_0 ) /退岀游戏false );dlg_1 .setSize(200, 120);dlg_1 .setLocatio n(400, 240);dlg 1 .show();public void rand_block()/随机产生砖块int num;case1: block1();blockNumber=1;breakcase2: block2();blockN
14、umber=2;breakcase3: block3();blockNumber=3;breakcase4: block4();blockNumber=4;breakcase5: block5();blockNumber=5;breakcase6: block6();blockNumber=6;breakcase7: block7();blockNumber=7;breakpublic voidcha nge_body(intdin gwei();num = ( int )(Math.blockNumber = num;(blockNumberrandom () * 6) +1;/产生06之间
15、的随机数switchblockNumber)/改变砖块状态if (blockNumber = 1&dow nSig nfalse)/变换长条2种情况if ( game_sign_y0=着的game_sig n_y1&game_sig n_y3=16)/说明长条是横if ( game_body game_sign_y 001!=2& game_bodyn um_csh_gameigame_sign_y3 + 2game_sig n_x3 - 2 != 2)();game_bodygame_sign_y0 - 1game_sig n_x0 + 1 = 1;game_body
16、game_sign_y1game. _sign_x 1=1;game_bodygame_sign_y2 + 1game_sig n_x2 - 1 = 1;game_bodygame_sign_y3 + 2game_sig n_x3 - 2 = 1;infoTex.setText(游戏进行中!);repa in t();if ( game_sign_x0 = game_sign_x=1& game_sig n_x31 game_sign_xif ( game_body game_sign_y02& game_body game_sign_y 3 - 2+game_sig n_x1
17、 game_sign_x 0-13 + 2 != 2)!=in um_csh_game();game_body game_sign_y0 + 1game_sig n_x0 - 1 = 1;if ( game_bodygame_sign_y 0+2 game_sign_x0!=game_bodygame_bodygame_sign_ygame_sign_y12 - 1game_sig n_x1=1;game_sig n_x2 + 1 = 1;game_bodygame_sign_y3 - 2infoTex.setText( 游戏进行中!repai nt();game_sig n_x3 + 2 =
18、 1;);if (blockNumber = 3&dow nSig nfalse )/变换转弯1有4种情况game_sig n_x2 & game_sig n_y 2=if ( game_body game_sign_y 0game_sig n_y3&game_sig n_x0 = 1)+1 game_sign_x 0- 12& game_body game_sign_y 2 - 1game_sig n_x2 + 1 != 2&game_bodygame_sign_y3 - 2game_sign_xn um_csh_game();3 != 2)game_
19、body game_sign_y 0 + 1game_sig n_x0 - 1=1;game_body game_sign_y 1game_sign_x1=1;game_body game_sign_y 2 - 1game_sig n_x2 + 1=:1;game_body game_sign_y3 - 2game_sig n_x3 = 1;infoTex.setText(游戏进行中!);repa in t();if (game_sign_y 1=game_sig n_y2&game_sig n_y2game_sig n_y3& game_sig n_x 0=game_sig
20、n_x3&game_sig n_y1 = 17)if (game_sign_x0game_sig n_x1& game_sign_x0!=if ( game_bodygame_sign_y 0game_sig n_x022& game_body game_sign_y12& game_body game_sign_y1 game_sign_x11!=!=3 - 1game_sig n_x 3 - 1 != 2)n um_csh_game();game_bodygame_sign_y0game_bodygame_sign_y1 + 1game_bodygame_s
21、ign_y2game_bodygame_sign_y3 - 1infoTex.setText(游戏进行中);game_sig n_x 0 - 2 = 1;game_sig n_x1 + 1 = 1;game_sig n_x2 = 1;3- 1 = 1;game_sig n_xrepain t();if (game_sign_xgame_sig n_x3 &1 = game_sig n_y0=game_sig n_xgame_sig n_y2& game_sign_x1& game_sign_x13 = 8)if ( game_bodygame_sign_y 0+2 ga
22、me_sign_x0!=1;3 - 1n um_csh_game();repain t();repain t();2& game_body game_sign_y3 game_sign_x 3 + 2 != 2)2& game_body game_sign_y2& game_body game_sign_y11 game_sign_x11!=game_bodygame_sign_y0 + 2game_sig n_x0 = 1;game_bodygame_sign_y1 +1game_sig n_x1 - 1=game_bodygame_sign_y2game_sig n
23、_x 2=1;game_bodygame_sign_y3-1game_sig n_x3 + 1=infoTex.setText(游戏进行中!);1;1;game_sig n_x3 +1 != 2)if (game_sign_ygame_sig n_y2 &0 = game_sig n_x0=game_sig n_ygame_sig n_x1& game_sign_y 13)if ( game_bodygame_sign_y 01 game_sign_x 01!=2& game_body game_sign_y 2 -1 game_sign_y 3game_sign_x3
24、 +game_sig n_x2 != 2)2- 1 != 2&game_bodyn um_csh_game();game_bodygame_sign_y0 + 1game_bodygame_sign_y1game_bodygame_sign_y2 - 1game_bodygame_sign_y3infoTex.setText(游戏进行中game_sig n_x0 + 1 = 1;if (blockNumber = 4&if (game_sign_xdow nSig nfalse )/变换转弯2有4种情况0game_sig n_x1& game_sign_x0game_s
25、ig n_x3 &game_sig n_y1=game_sig n_y2& game_sign_x3 = 2)2!=2& game_body game_sign_y22& game_body game_sign_y1game_sig n_x21!=3 - 2game_sig n_x 3 != 2)n um_csh_game();game_bodygame_sign_y0game_sig n_x 0 - 2 = 1;game_bodygame_sign_y1game_sig n_x 1 = 1;game_bodygame_sign_y2 - 1game_sig n
26、_x2 - 1=game_bodygame_sign_y3 - 2game_sig n_x 3 = 1;infoTex.setText(游戏进行中!);1;repain t();if (game_sign_y0game_sig n_y1& game_sign_y0game_sig n_y2 &if ( game_bodygame_sig n_xgame_sign_y2& game_body game_sign_y2& game_body game_sign_y11=0game_sig n_x3& game_sign_y0 = 2)1 game_sign_
27、x 0game_sig n_x121!=!=3 - 1game_sig n_x3 +1 != 2)n um_csh_game();game_bodygame_sign_y0 + 1game_bodygame_sign_y1game_bodygame_sign_y2game_bodygame_sign_y3 - 1infoTex.setText(游戏进行中);game_sig n_x0 - 1 = 1;game_sig n_x 1 - 2 = 1;game_sig n_x2 = 1;3 + 1 = 1;game_sig n_xrepain t();if (game_sign_y1game_sig
28、 n_y2& game_sign_y2game_sig n_y3 &if ( game_bodygame_sig n_x0=game_sign_y 02& game_body game_sign_y12& game_body game_sign_ygame_sig n_x1& game_sign_y0 = 2)if ( game_body game_sign_y0 game_sign_x 022& game_body game_sign_y2& game_body game_sign_y21game_sig n_x2-1!=!=3 - 1
29、game_sig n_x3 +1 != 2)n um_csh_game();game_bodygame_sign_y0game_sig n_x 0 - 2 = 1;game_bodygame_sign_y1game_sig n_x 1 = 1;game_bodygame_sign_y2 - 1game_sig n_x2 - 1=game_bodygame_sign_y3 - 1game_sig n_x3 + 1=infoTex.setText(游戏进行中!);repa in t();1;2!=+12!=1;if ( game_sign_y 0 = game_sign_y 1& game
30、_sign_y2& game_body game_sign_y3 + 1 game_sig n_x 3 - 1 != 2)game_sig n_x 3 - 1 != 2)repain t();n um_csh_game();game_bodygame_sign_y0game_sig n_x0 +2=1;game_bodygame_sign_y1 - 1game_sig n_x1 + 1=game_bodygame_sign_y2game_sig n_x 2=:1;game_bodygame_sign_y3 - 1game_sig n_x3 -1=infoTex.setText(游戏进行
31、中!”);1;1;3 = 17)if ( game_body game_sign_y02& game_body game_sign_y 1game_sig n_x01 game_sign_x1!=n um_csh_game();game_bodygame_sign_y0game_sign_x 0 + 2 = 1;game_bodygame_bodygame_sign_ygame_sign_y1 +21 game_sig n_x 1 + 1 = 1; game_sig n_x2 = 1;game_sign_yinfoTex.setText( 游戏进行中!);repa in t();gam
32、e_body3 + 1game_sig n_x 3 - 1 = 1;if (blockNumber = 7&dow nSig nfalse )/变换两层砖块2的2种情况if ( game_sign_x 0=if ( game_body game_sign_y0game_sign_x0game_sig n_x1& game_sign_x0 = 16)2!=2& game_body game_sign_y12& game_body game_sign_y1 game_sign_x11!=3 - 12!=+12!=1;2& game_body game_sig
33、n_y2 + 1game_sig n_x2 +n um_csh_game();game_bodygame_sign_y0 +1game_sig n_x0 - 1=game_bodygame_sign_y1game_sig n_x1- -2 = 1;game_bodygame_sign_y2 +1game_sig n_x2 + 1=1;if ( game_sign_y 0 =game_sign_yif ( game_body game_sign_y2& game_body game_sign_y1&01game_sig n_xgame_sig n_y2 = 17)1 game_s
34、ign_x 01 -1!=1 != 2)game_body game_sign_y3game_sig n_x 3 = 1;infoTex.setText(游戏进行中!);repa in t();public voidnum_csh_game()/数组清零for (int i = 0;i 19;i+)for ( int j = 0;j 10;j+)if ( game_body ij = 2)game_body ij = 2;elsegame_body ij = 0;public void num_csh_restart()/重新开始时数组清零for (int i = 0;i 19;i+)for
35、( int j = 0;j 10;j+)game_body ij = 0;publicvoidkeyTyped(KeyEve nt e)publicvoidkeyPressed(KeyEve nt e)if (e.getKeyCode() = KeyEvent. this.dow n();if (e.getKeyCode() = KeyEvent. thiseft();if (e.getKeyCode() = KeyEvent.VK_DOWN&startSignVK_LEFT &startSignVK_RIGHT &startSign=1)/处理下键=1)/处理左键=1
36、)/处理右键game_body game_sign_y3game_sig n_x 3 = 1;this .right();if (e.getKeyCode() = KeyEvent.this .cha nge_body(blockNumber );if ( startSign = 0)2)sig n = 1;in foTex.setText( 游戏未开始或已结束!);publicpublicvoidvoidkeyReleased(KeyEve nt e) paint(Graphics g)g.setColor(Color.g.fill3DRect(0,0,300,450,black );tru
37、e );for ( int i = 0;i 19;i+)for (int j = 0;j 10;j+)if ( game_body ij = 1)g.setColor(Color.blue );g.fill3DRect(30*j,30*(i-4),30,30,true );if ( game_body ij = 2)g.setColor(Color.magenta );g.fill3DRect(30*j,30*(i-4),30,30,true );public void left() /向左移动int sig n = 0;di ngwei();for (int k = 0;k 4;k+)if
38、( game_sign_x k = 0|game_bodygame_sign_ykgame_sig n_xk - 1=VK_UP &startSign=1)/处理上键转换if (sign = 0&downSignfalse )n um_csh_game();for (int k = 0;k 4;k+)game_body game_sign_y kgame_sign_xk - 1 = 1;infoTex.setText( 向左移动!);repa in t();public void right() /向右移动int sig n = 0;di ngwei();for (int k
39、= 0;k 4;k+)if ( game_sign_xk = 9| game_body game_sign_yk game_sign_x k + 1=2)sign = 1;if (sign = 0&downSign= false )n um_csh_game();for (int k = 0;k 4;k+)game_body game_sign_y kgame_sign_xk + 1 = 1;infoTex.setText( 向右移动!);repa in t();public void down()/下落int sig n = 0;di ngwei();for (int k = 0;k
40、 4;k+)if ( game_sign_yk= 18| game_body game_sign_y k+ 1 game_sign_x k2)sign = 1;dow nSig n = true ;cha ngeColor();can celDW();getScore();if (game_over() =false )ran d_block();repa in t();if (sign = 0)n um_csh_game();for ( int k = 0;k 4;k+)game_body game_sign_yk + 1game_sign_:infoTex .setText( 游戏进行中!);repa in t();public boolean game_over() /判断游戏是否结束intsig n=0;for (int i = 0;i 10;i+)if ( game_body 4i = 2)sign = 1;if (sign = 1)infoTex.setText( 游戏结束!);cha ngeColor();repai nt();startSig n = 0;timer .suspe nd();return true ;elsereturnfalse ;publicvoidgetSc
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 抗击疫情风控工作方案
- 规划违建实施方案
- 江浙避暑营地建设方案
- 远景人工智能+智能城市公共服务效率研究报告
- 人工智能+智能客服生产力变革与客户服务效率研究报告
- 岳麓山滑道建设方案
- 优化2026年制造业供应链的智能仓储方案
- 建设真人cs方案
- 地质灾害监测设施维护保养方案
- 煤矿安全管理人员资格证报考条件
- 【课件】历史的图谱(文化色彩)+课件高中美术人教版(2019)选择性必修1+绘画
- DB36-T 657-2023 棘胸蛙养殖技术规程
- 物料掩埋事故分析原因分析报告
- 某自来水厂施工组织设计完整方案
- 十年(14-23)高考物理真题分项汇编专题58 气体的等圧変化(含解析)
- 2023建筑结构弹塑性分析技术规程
- 110kv变电站设计外文翻译
- 2023年中考数学压轴题专题22 二次函数与新定义综合问题【含答案】
- 毛主席诗词(132首)
- SB-2100流量积算仪说明书
- 【毕业论文撰写】开题报告、文献综述、文献检索
评论
0/150
提交评论