欢迎来到天天文库
浏览记录
ID:46899394
大小:185.00 KB
页数:24页
时间:2019-11-29
《综合运用所学知识编写相对复杂的程序》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实验项口:java游戏初探(俄罗斯方块)实验者:05计算机4班陈华19号2007・11・27(截稿)综合运用所学知识编写相对复杂的程序程為今祈女源代码:1需求分析:本游戏的总体口标是按照游戏规则为玩家提供一个方便友好的界而,同时满足不同玩家的不同难度的需求2总体思想是通过线程和javagui编程实现本游戏的基本功能,由于此游戏很大众化,故界血设计是开发的重点和难点//主类importjavax.swing.event.*;importjava.awt.*;importjava.awt.event.*;pub1icclassGameMainFrameextendsJFrameimplemen
2、tsKeyListener{JPanelgameJPanel,clewlJPanel,clew2JPanel;//游戏区血板JLabeldefcn_JLabel,score_JLabel;//游戏记分等标签JLabeldengjiJLabel,levelJLabel;JButton[][]playBlocks;//游戏方块数组int[][]flagBlocks;//游戏方块标志数组JButton[][]nextBlocks;//游戏提示区方块longscore;//积分intlevel,speed,totalLines,currentLines;//游戏标丿忐booleanisPause,
3、isEnd;//游戏开始与暂停标志intblockType,nextblockType;//方块类型标志Blockblock;//方块类型GameThreadthread;//游戏主线程〃主窗体构造方法publicGameMainFrame(){superC稀饭的俄罗斯方块”);this.addGameMenu();gameJPanel=newJPanel(newGridLayout(20,10));clewlJPanel=newJPanel(newGridLayout(10,1));clew2JPanel=newJPanel(newGridLayout(4,4));defenJLabel
4、=newJLabel(〃得分〃);score_JLabel=newJLabel();dengji_JLabel=newJLabel(z/等级〃);level_JLabel=newJLabel();clowlJPanel.add(clew2JPane1);clewlJPanel・add(defenJLabel);clewlJPanel.add(score_JLabel);clewlJPanel.add(dengji_JLabel);clewlJPanel.add(level_JLabel);BorderLayoutborderlayout=newBorderLayout();this.set
5、Layout(borderlayout);this,add(gameJPanel,borderlayout.CENTER);this,add(clewlJPanel,borderlayout.EAST);this・addKeyListener(this);this.setFocusable(true);//创建并初始化游戏区方块数组playBlocks=newJButton[20][10];for(inti=0;i<20;i++){for(intj=l;j〈10;j++){playBlocks[i][j]=newJButton();playBlocks[i][j].setBackgroun
6、d(Color.lightGray);playBlocks[i][j].setVisible(false);playBlocks[i][j]・setEnabled(false);gameJPanel.add(playBlocks[i][j]);}}//创建并初始化游戏区方块标志数组fl鸥Blocks二newint[20][10];for(inti=0;i<20;i++){for(intj=0;j<10;j++){flagBlocks[i][j]=0;}}//创建并初始化方块提示区方块数纟RnextBlocks=newJButton[4][4];for(inti=0;i<4;i++){for
7、(intj二0;j<4;j++){nextBlocks[i][j]=newJButtonO;nextBlocks[i][j].setBackground(Color.1ightGray);nextBlocks[i][j].setVisible(false);nextBlocks[i][j].setEnabled(false);clew2JPanel.add(nextBlocks[i][j]);}}score=0;//初始
此文档下载收益归作者所有