Java课程设——俄罗斯方块.pdfVIP

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Java课程设——俄罗斯方块

JA VA 程序设计 一、程序功能介绍 本程序实现了俄罗斯方块游戏的基本功能,游戏中玩家可以做的操作有: 1.中间一个方块不变其他三个以90度为单位向右旋转方每一格块,此程序会判断方块有没有 空间让他实现旋转,即判断是否越界,若越界则不可以实现旋转。 2.以格子为单位左右移动方块,下方向让方块加速落下,空格键则急速下落。 3.方块移到区域最下方或是着地到其他方块上无法移动时,就会固定在该处,而新的随 机图形会出现在区域上方开始落下。 4.当区域中某一列横向格子全部由方块填满,则该列会自动消除并成为玩家的得分。同时删 除的列数越多,得分指数上升。 5.当固定的方块堆到区域最上方,则游戏结束。(此功能尚未实现) 6.此程序还不完善,开始,暂停,重来,结束都没有实现,有待改进。 二、课程设计过程 1、总体概述: 设计一个简单的游戏,能够将Java 的面向对象程序思想应用到课程设计中,用到Java 中常用的组件以及相应的布局方式。完成设计、编程、测试等过程,给出设计思路、设计说 明书、主要的代码的说明、源代码以及可运行的游戏程序。 2、各个子类的定义: 1.定义俄罗斯方块类,通过可视化界面设定一个游戏界面窗口,用一个10*20表示游戏区域。 public class TetrisGame extends JPanel JFrame jf new JFrame(俄罗斯方块); jf.setSize(540, 600); jf.setVisible(true); public static final int ROWS 20; public static final int COLS 10; 2.定义7种俄罗斯方块的基本类型,分别以S、Z、L、J、I、O、T这7个字母的形状来命名。 先定义四方格主类:public class Tetromino; 再定义它的7个子类:S、Z、L、J、I、O、T private static class S extends Tetromino; - 1 - JA VA 程序设计 private static class Z extends Tetromino; private static class L extends Tetromino; private static class J extends Tetromino; private static class I extends Tetromino; private static class O extends Tetromino; private static class T extends Tetromino; 3.通过switch 语句,随机输出方块到游戏区域顶部。 public static Tetromino randomOne(); 4.用键盘监听来实现下落、移动、旋转变形。 键盘监听:public void keyPressed(KeyEvent e); 软着陆:protected void softDropAction(); 硬着陆:protected void hardDropAction(); 左移:protected void moveLeftAction(); 右移:protected void moverightAction(); 右旋:public void rotateRight(); repaint(); 重绘java里repaint()是重绘component的方法;component中己有的图形发生变化后不会 立刻显示,须使用repaint方法。component简而言之,组件就是对象。C++ Builder 中叫组 件,Delphi中叫部件,而在VisualBASIC 中叫控件。 组件是对数据和方法的简单封装。C++ Builder 中,一个组件就是一个从TComponent派生出来的特定对象组件可以有自己的属性和 方法。 判断是否越界: private boolean canMoveR();//是否碰墙,是否有其他图形 private boolean outOfBoundsTB();// private boolean baoHanR();//判断右侧墙上是否有内容 private boolean baoHanL();//判断左侧墙上是否有内容 private boolean outOfBoundsR(); private boolean outO

文档评论(0)

woai118doc + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档