ImageVerifierCode 换一换
格式:DOCX , 页数:41 ,大小:23.38KB ,
资源ID:18454910      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/18454910.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(俄罗斯方块java代码Word文档格式.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

俄罗斯方块java代码Word文档格式.docx

1、) , BorderLayout.NORTH ); tipPanel.add( tipBlockPanel , BorderLayout.CENTER ); tipPanel.setBorder(border); InfoPanel = new JPanel( new GridLayout(4,1,0,0) ); levelField = new JTextField(+RussiaBlocksGame.DEFAULT_LEVEL); levelField.setEditable(false); scoreField = new JTextField(0); scoreField.setEdi

2、table(false); InfoPanel.add(new JLabel(Level:); InfoPanel.add(levelField);Score: InfoPanel.add(scoreField); InfoPanel.setBorder(border); buttonPanel = new JPanel(new GridLayout(5,1,0,0); playButton = new JButton(Play pauseButton = new JButton(Pause stopButton = new JButton(Stop turnHarderButton = ne

3、w JButton(Turn harder turnEasilyButton = new JButton(Turn easily buttonPanel.add(playButton); buttonPanel.add(pauseButton); buttonPanel.add(stopButton); buttonPanel.add(turnHarderButton); buttonPanel.add(turnEasilyButton); buttonPanel.setBorder(border); addKeyListener(new ControlKeyListener();/添加 ad

4、d(tipPanel); add(InfoPanel); add(buttonPanel); *添加事件监听器 */ playButton.addActionListener( new ActionListener() public void actionPerformed(ActionEvent event) game.playGame(); requestFocus();/让ControlPanel重新获得焦点以响应键盘事件 ); pauseButton.addActionListener( if(pauseButton.getText().equals() game.pauseGame(

5、); else game.resumeGame(); ); stopButton.addActionListener( game.stopGame(); turnHarderButton.addActionListener( int level = 0; try level = Integer.parseInt(levelField.getText(); setLevel(level + 1); catch(NumberFormatException e) e.printStackTrace(); turnEasilyButton.addActionListener( setLevel(lev

6、el - 1); * 时间驱动程序,每格500毫秒对level,score值进行更新 timer = new Timer(500, scoreField.setText(+game.getScore(); game.levelUpdate(); timer.start(); * 设置预显方块的样式 public void setBlockStyle(int style) tipBlockPanel.setStyle(style); tipBlockPanel.repaint(); * 重置,将所有数据恢复到最初值 public void reset() levelField.setText(

7、setPlayButtonEnabled(true); setPauseButtonLabel(true); tipBlockPanel.setStyle(0); *设置playButton是否可用 public void setPlayButtonEnabled(boolean enable) playButton.setEnabled(enable); *设置pauseButton的文本 public void setPauseButtonLabel(boolean pause) pauseButton.setText( pause ? :Rusume *设置方块的大小,改变窗体大小时调用

8、可自动调整方块到合适的尺寸 public void fanning() tipBlockPanel.fanning(); *根据level文本域的值返回当前的级别 public int getLevel() try level=Integer.parseInt(levelField.getText(); return level; * 设置level文本域的值 public void setLevel(int level) if(level 0 & level = RussiaBlocksGame.MAX_LEVEL) + level); * 内部类 为预显方块的显示区域 private cl

9、ass TipBlockPanel extends JPanel private Color bgColor = Color.darkGray, blockColor = Color.lightGray; private RussiaBox boxes = new RussiaBoxRussiaBlock.ROWSRussiaBlock.COLS; private int boxWidth, boxHeight,style; private boolean isTiled = false; * 构造函数 public TipBlockPanel() for(int i = 0; i boxes

10、.length; i +) for(int j = 0; j boxesi.length; j +) boxesij=new RussiaBox(false); style = 0x0000; public TipBlockPanel(Color bgColor, Color blockColor) this(); this.bgColor = bgColor; this.blockColor = blockColor; * 设置方块的风格 public void setStyle(int style) this.style = style; repaint(); * 绘制预显方块 publi

11、c void paintComponent(Graphics g) super.paintComponent(g); int key = 0x8000; if(!isTiled) fanning(); j=1; boxWidth = getSize().width / RussiaBlock.COLS; boxHeight = getSize().height /RussiaBlock.ROWS; isTiled=true; *内部类 键盘键听器,响应键盘事件 class ControlKeyListener extends KeyAdapter public void keyPressed(

12、KeyEvent ke) if (!game.isPlaying() return; RussiaBlock block = game.getCurBlock(); switch (ke.getKeyCode() case KeyEvent.VK_DOWN: block.moveDown(); break; case KeyEvent.VK_LEFT: block.moveLeft(); case KeyEvent.VK_RIGHT: block.moveRight(); case KeyEvent.VK_UP: block.turnNext(); case KeyEvent.VK_SPACE

13、:/一键到底 while(block.moveDown() default: * 游戏中方块显示的画布类public class GameCanvas extends JPanel private RussiaBox boxes; private int rows = 20 , cols = 12; private static GameCanvas canvas=null; private int boxWidth, boxHeight;/默认为零需要调用fanning函数设置 private Color blockColor = Color.RED, bgColor = new Color

14、(0,204,204); *采用单件模式,构造函数私有 private GameCanvas() boxes = new RussiaBoxrowscols;boxesi.length; boxesij = new RussiaBox(false); setBorder(border); *获得GameCanvas实例 public static GameCanvas getCanvasInstance() if(canvas = null) canvas = new GameCanvas(); return canvas; *设置画布的背景色 public void setBgColor(C

15、olor bgColor) * 获得画布的背景色 public Color getBgColor() return bgColor; *设置方块的颜色 public void setBlockColor(Color blockColor) *方块的颜色 public Color getBlockColor() return blockColor; *设置画布中方块的行数 public void setRows(int rows) this.rows = rows; *得到画布中方块的行数 public int getRows() return rows; *设置画布中方块的列数 public

16、void setCols(int cols) this.cols = cols; *得到画布中方块的列数 public int getCols() return cols; *得到row行,col列的方格 public RussiaBox getBox(int row, int col) if(row = 0 & row col 0; i -) cols; boxesij = (RussiaBox)boxesi-1j.clone(); *重置 为初始时的状态 i+) for(int j = 0 ;j j+) boxesij.setColor(false); * 根据窗体的大小自动调整方格的大小

17、 boxWidth = getSize().width / cols; boxHeight = getSize().height / rows; * 方块类 public class RussiaBlock extends Thread private int style,y,x,level; private boolean moving,pausing; private RussiaBox boxes; private GameCanvas canvas; public final static int ROWS = 4; public final static int COLS = 4;

18、public final static int BLOCK_KIND_NUMBER = 7; public final static int BLOCK_STATUS_NUMBER = 4; public final static int BETWEEN_LEVELS_TIME = 50; public final static int LEVEL_FLATNESS_GENE = 3; *方块的所有风格及其不同的状态 public final static int STYLES = / 共28种状态 0x0f00, 0x4444, 0x0f00, 0x4444, / 长条型的四种状态 0x04e0, 0x0464, 0x00e4, 0x04c4, / T型的四种状态 0x4620, 0x6c00, 0x4620, 0x6c00, / 反Z 0x2640, 0xc600, 0x2640, 0xc600, /

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1