![java寫的俄羅斯方塊_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/7/6d20d7de-4f03-4c73-80fd-6c11c47f4fa8/6d20d7de-4f03-4c73-80fd-6c11c47f4fa81.gif)
![java寫的俄羅斯方塊_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/7/6d20d7de-4f03-4c73-80fd-6c11c47f4fa8/6d20d7de-4f03-4c73-80fd-6c11c47f4fa82.gif)
![java寫的俄羅斯方塊_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/7/6d20d7de-4f03-4c73-80fd-6c11c47f4fa8/6d20d7de-4f03-4c73-80fd-6c11c47f4fa83.gif)
![java寫的俄羅斯方塊_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/7/6d20d7de-4f03-4c73-80fd-6c11c47f4fa8/6d20d7de-4f03-4c73-80fd-6c11c47f4fa84.gif)
![java寫的俄羅斯方塊_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/7/6d20d7de-4f03-4c73-80fd-6c11c47f4fa8/6d20d7de-4f03-4c73-80fd-6c11c47f4fa85.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、import java.awt.*;import java.awt.event.*;import javax.swing.*; import java.applet.*;import java.lang.String.*;import java.lang.*;import java.io.*;public class Block extends JPanel implements ActionListener,KeyListener/應(yīng)該是繼承JPanelstatic Button but = new Button6;static Button noStop = new Button(&quo
2、t;取 消 暫 停");static Label scoreLab = new Label("分?jǐn)?shù):");static Label infoLab = new Label("提示:");static Label speedLab = new Label("級數(shù):");static Label scoreTex = new Label("0");static Label infoTex = new Label(" ");static Label speedTex = new Label(
3、"1");static JFrame jf = new JFrame();static MyTimer timer; static ImageIcon icon=new ImageIcon("resource/Block.jpg");static JMenuBar mb = new JMenuBar();static JMenu menu0 = new JMenu("游 戲 ");static JMenu menu1 = new JMenu("幫 助 ");static JMenuItem mi0 = new JM
4、enuItem("新 游 戲");static JMenuItem mi1 = new JMenuItem("退 出");static JMenuItem mi1_0 = new JMenuItem("關(guān) 于"); static JDialog dlg_1;static JTextArea dlg_1_text = new JTextArea();static int startSign = 0;/游戲開始標(biāo)志 0 未開始 1 開始 2 暫停static String butLab = "開 始 游 戲",&quo
5、t;重 新 開 始","降 低 級 數(shù)","提 高 級 數(shù)","游 戲 暫 停","退 出 游 戲"static int game_body = new int1910;static int game_sign_x = new int4;/用于記錄4個方格的水平位置static int game_sign_y = new int4;/用于記錄4個方格的垂直位置static boolean downSign = false;/是否落下static int blockNumber = 1;/磚塊的編號stat
6、ic int gameScore = 0;/游戲分?jǐn)?shù)static int speedMark = 1;public static void main(String args) Block myBlock = new Block(); 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.se
7、tTitle("俄羅斯方塊"); jf.setIconImage(icon.getImage(); jf.setLocation(200,100); jf.show(); timer = new MyTimer(myBlock); /啟動線程 timer.setDaemon(true); timer.start(); timer.suspend();public void init() setLayout(null); for(int i = 0;i < 6;i+) buti = new Button(butLabi); add(buti); buti.addActi
8、onListener(this); buti.addKeyListener(this); buti.setBounds(360,(240 + 30 * i),160,25); add(scoreLab); add(scoreTex); add(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); spe
9、edLab.setBounds(320,45,30,20); speedTex.setBounds(360,45,160,20); speedTex.setBackground(Color.white); but1.setEnabled(false); but4.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.addAc
10、tionListener(this); noStop.addKeyListener(this); mi0.addActionListener(this); mi1.addActionListener(this); mi1_0.addActionListener(this); num_csh_game(); rand_block(); public void actionPerformed(ActionEvent e) if(e.getSource() = but0)/開始游戲 startSign = 1; infoTex.setText("游戲已經(jīng)開始!"); but0.s
11、etEnabled(false); but1.setEnabled(true); but4.setEnabled(true); timer.resume(); if(e.getSource() = but1|e.getSource() = mi0)/重新開始游戲 startSign = 0; gameScore = 0; timer.suspend(); num_csh_restart(); repaint(); rand_block(); scoreTex.setText("0"); infoTex.setText("新游戲!"); but0.setE
12、nabled(true); but1.setEnabled(false); but4.setEnabled(false); if(e.getSource() = but2)/降低級數(shù) infoTex.setText("降低級數(shù)!"); speedMark-; if(speedMark <= 1) speedMark = 1; infoTex.setText("已經(jīng)是最低級數(shù)!"); speedTex.setText(speedMark + ""); if(e.getSource() = but3)/提高級數(shù) infoTex.se
13、tText("提高級數(shù)!"); speedMark+; if(speedMark >= 9) speedMark = 9; infoTex.setText("已經(jīng)是最高級數(shù)!"); speedTex.setText(speedMark + ""); if(e.getSource() = but4)/游戲暫停 this.add(noStop); this.remove(but4); infoTex.setText("游戲暫停!"); timer.suspend(); if(e.getSource() = noS
14、top)/取消暫停 this.remove(noStop); this.add(but4); infoTex.setText("繼續(xù)游戲!"); timer.resume(); if(e.getSource() = but5|e.getSource() = mi1)/退出游戲 jf.dispose(); if(e.getSource() = mi1_0)/退出游戲 dlg_1 = new JDialog(jf,"關(guān) 于"); try FileInputStream io = new FileInputStream("resource/guany
15、u.txt");/得到路徑 byte a = new byteio.available(); io.read(a); io.close(); String str = new String(a); dlg_1_text.setText(str); catch(Exception g) 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
16、_1.show(); public void rand_block()/隨機(jī)產(chǎn)生磚塊 int num; num = (int)(Math.random() * 6) + 1;/產(chǎn)生06之間的隨機(jī)數(shù) blockNumber = num; switch(blockNumber) case 1: block1(); blockNumber = 1; break; case 2: block2(); blockNumber = 2; break; case 3: block3(); blockNumber = 3; break; case 4: block4(); blockNumber = 4; b
17、reak; case 5: block5(); blockNumber = 5; break; case 6: block6(); blockNumber = 6; break; case 7: block7(); blockNumber = 7; break; public void change_body(int blockNumber)/改變磚塊狀態(tài) dingwei(); if(blockNumber = 1&&downSign = false)/變換長條2種情況 if(game_sign_y0 = game_sign_y1&&game_sign_y3 &
18、lt;= 16)/說明長條是橫著的 if(game_bodygame_sign_y0 - 1game_sign_x0 + 1 != 2&&game_bodygame_sign_y3 + 2game_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_y3 + 2g
19、ame_sign_x3 - 2 = 1; infoTex.setText("游戲進(jìn)行中!"); repaint(); if(game_sign_x0 = game_sign_x1&&game_sign_x0 >= 1&&game_sign_x3 <= 7)/說明長條是豎著的 if(game_bodygame_sign_y0 + 1game_sign_x0-1 != 2&&game_bodygame_sign_y3 - 2game_sign_x3 + 2 != 2) num_csh_game(); game_body
20、game_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 + 2 = 1; infoTex.setText("游戲進(jìn)行中!"); repaint(); if(blockNumber = 3&&downSign = false)/變換轉(zhuǎn)彎1有4種情況 if(game_sign_x0 = game_sig
21、n_x1&&game_sign_x0 = game_sign_x2&&game_sign_y2 = game_sign_y3&&game_sign_x0 >= 1) if(game_bodygame_sign_y0 + 1game_sign_x0 - 1 != 2&&game_bodygame_sign_y2 - 1game_sign_x2 + 1 != 2&&game_bodygame_sign_y3 - 2game_sign_x3 != 2) num_csh_game(); game_bodygame_s
22、ign_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("游戲進(jìn)行中!"); repaint(); if(game_sign_y1 = game_sign_y2&&game_sign_y2 = game_sign_y3&&game_sign_x0 =
23、 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_x
24、1 + 1 = 1; game_bodygame_sign_y2game_sign_x2 = 1; game_bodygame_sign_y3 - 1game_sign_x3 - 1 = 1; infoTex.setText("游戲進(jìn)行中!"); 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_si
25、gn_y0 + 2game_sign_x0 != 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_y0 + 2game_sign_x0 = 1; game_bodygame_sign_y1 + 1game_sign_x1 - 1 = 1; game_bodygame_sign_y2game_sign_x2 = 1; game_bodygame_s
26、ign_y3 - 1game_sign_x3 + 1 = 1; infoTex.setText("游戲進(jìn)行中!"); repaint(); if(game_sign_y0 = game_sign_y1&&game_sign_y1 = game_sign_y2&&game_sign_x0 = game_sign_x3) if(game_bodygame_sign_y0 + 1game_sign_x0 + 1 != 2&&game_bodygame_sign_y2 - 1game_sign_x2 - 1 != 2&&
27、;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; infoTex.setText("游戲進(jìn)行中!"); repaint(); if(blockNumber
28、= 4&&downSign = false)/變換轉(zhuǎn)彎2有4種情況 if(game_sign_x0 = game_sign_x1&&game_sign_x0 = game_sign_x3&&game_sign_y1 = game_sign_y2&&game_sign_x3 <= 7) if(game_bodygame_sign_y0 + 2game_sign_x0 != 2&&game_bodygame_sign_y1 + 1game_sign_x1 + 1 != 2&&game_bodyga
29、me_sign_y3game_sign_x3 + 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_x2 = 1; game_bodygame_sign_y3game_sign_x3 + 2 = 1; infoTex.setText("游戲進(jìn)行中!"); repaint(); if(game_sign_y1 = game_sign_y2&
30、amp;&game_sign_y1 = game_sign_y3&&game_sign_x0 = game_sign_x2) if(game_bodygame_sign_y1game_sign_x1 + 2 != 2&&game_bodygame_sign_y2 - 1game_sign_x2 + 1 != 2&&game_bodygame_sign_y3 - 2game_sign_x3 != 2) num_csh_game(); game_bodygame_sign_y0game_sign_x0 = 1; game_bodygame_s
31、ign_y1game_sign_x1 + 2 = 1; game_bodygame_sign_y2 - 1game_sign_x2 + 1 = 1; game_bodygame_sign_y3 - 2game_sign_x3 = 1; infoTex.setText("游戲進(jìn)行中!"); repaint(); if(game_sign_x0 = game_sign_x2&&game_sign_x0 = game_sign_x3&&game_sign_y1 = game_sign_y2&&game_sign_x0 >= 2
32、) 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_game(); game_bodygame_sign_y0game_sign_x0 - 2 = 1; game_bodygame_sign_y1game_sign_x1 = 1; game_bodygame_sign_y2 - 1game_sign_x2 - 1 = 1
33、; game_bodygame_sign_y3 - 2game_sign_x3 = 1; infoTex.setText("游戲進(jìn)行中!"); 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_s
34、ign_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_x2 - 2 = 1; game_bodygame_sign_y3game_sign_x3 = 1; infoTex.setText("游戲進(jìn)行中
35、!"); repaint(); if(blockNumber = 5&&downSign = false)/變換轉(zhuǎn)彎3有4種情況 if(game_sign_x0 = game_sign_x2&&game_sign_x2 = game_sign_x3&&game_sign_y0 = game_sign_y1&&game_sign_x1 >= 2) if(game_bodygame_sign_y0 + 1game_sign_x0 - 1 != 2&&game_bodygame_sign_y1game_s
36、ign_x1 - 2 != 2&&game_bodygame_sign_y3 - 1game_sign_x3 + 1 != 2) num_csh_game(); game_bodygame_sign_y0 + 1game_sign_x0 - 1 = 1; game_bodygame_sign_y1game_sign_x1 - 2 = 1; game_bodygame_sign_y2game_sign_x2 = 1; game_bodygame_sign_y3 - 1game_sign_x3 + 1 = 1; infoTex.setText("游戲進(jìn)行中!")
37、; repaint(); if(game_sign_y1 = game_sign_y2&&game_sign_y2 = game_sign_y3&&game_sign_x0 = game_sign_x1&&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_y3 - 1game_sign_x3 -
38、 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("游戲進(jìn)行中!"); repaint(); if(game_sign_x0 = game_sign_x1&&game_sign_x
39、1 = game_sign_x3&&game_sign_y2 = game_sign_y3) if(game_bodygame_sign_y0 + 1game_sign_x0 - 1 != 2&&game_bodygame_sign_y2game_sign_x2 + 2 != 2&&game_bodygame_sign_y3 - 1game_sign_x3 + 1 != 2) num_csh_game(); game_bodygame_sign_y0 + 1game_sign_x0 - 1 = 1; game_bodygame_sign_y1ga
40、me_sign_x1 = 1; game_bodygame_sign_y2game_sign_x2 + 2 = 1; game_bodygame_sign_y3 - 1game_sign_x3 + 1 = 1; infoTex.setText("游戲進(jìn)行中!"); repaint(); if(game_sign_y0 = game_sign_y1&&game_sign_y1 = game_sign_y2&&game_sign_x2 = game_sign_x3) if(game_bodygame_sign_y0 + 1game_sign_x0
41、 + 1 != 2&&game_bodygame_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_si
42、gn_x3 = 1; infoTex.setText("游戲進(jìn)行中!"); repaint(); if(blockNumber = 6&&downSign = false)/變換兩層磚塊1的2種情況 if(game_sign_x0 = game_sign_x2&&game_sign_x0 >= 2) if(game_bodygame_sign_y0game_sign_x0 - 2 != 2&&game_bodygame_sign_y2 - 1game_sign_x2 -1 != 2&&game_bodyg
43、ame_sign_y3 - 1game_sign_x3 + 1 != 2) num_csh_game(); 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 - 1game_sign_x3 + 1 = 1; infoTex.setText("游戲進(jìn)行中!"); repaint(); if(game_sign_y0 = game
44、_sign_y1&&game_sign_y3 <= 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
45、 = 1; game_bodygame_sign_y2game_sign_x2 = 1; game_bodygame_sign_y3 + 1game_sign_x3 - 1 = 1; infoTex.setText("游戲進(jìn)行中!"); repaint(); if(blockNumber = 7&&downSign = false)/變換兩層磚塊2的2種情況 if(game_sign_x0 = game_sign_x1&&game_sign_x0 <= 16) if(game_bodygame_sign_y0game_sign_x0 +
46、 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_bodygame_sign_y2game_sign_x2 = 1; game_bodygame_sign_y3 - 1game_sign_x3 - 1 = 1; infoTex.setText("游戲進(jìn)行中!"); repaint(); if(game_sign_y0 = game
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中國光纖光柵式溫度在線監(jiān)測系統(tǒng)市場調(diào)查研究報告
- 2025至2031年中國非可視對講門鈴行業(yè)投資前景及策略咨詢研究報告
- 2025至2031年中國退菌特可濕性粉劑行業(yè)投資前景及策略咨詢研究報告
- 2025至2031年中國羊毛球拋光輪行業(yè)投資前景及策略咨詢研究報告
- 2025至2031年中國電鍍粘合劑行業(yè)投資前景及策略咨詢研究報告
- 2025年汽車斷油氣缸裝置項目可行性研究報告
- 2025年日用玻璃制品項目可行性研究報告
- 2025年投幣按摩椅項目可行性研究報告
- 2025年大規(guī)格圓塊孔石墨換熱器項目可行性研究報告
- 2025年卡通保溫袋項目可行性研究報告
- 春天古詩包含內(nèi)容模板
- 應(yīng)征公民政治考核表(含各種附表)
- 北工商《概率論與數(shù)理統(tǒng)計》試題庫
- 2024年湖南環(huán)境生物職業(yè)技術(shù)學(xué)院單招職業(yè)適應(yīng)性測試題庫含答案
- (高清版)JTG D50-2017 公路瀝青路面設(shè)計規(guī)范
- 20以內(nèi)的加減法練習(xí)題1000道
- 2024協(xié)調(diào)費(fèi)協(xié)議書的格式
- 19J102-1 19G613混凝土小型空心砌塊墻體建筑與結(jié)構(gòu)構(gòu)造
- 新蘇教版三年級下冊科學(xué)全冊知識點(背誦用)
- 【良心出品】架空輸電線路巡視內(nèi)容
- 《我家漂亮的尺子》課件-定稿
評論
0/150
提交評論