Java课设--俄罗斯方块Tetris
Java程序设计课程作业报告
作业:俄罗斯方块游戏
姓名 |
赵璐媛 |
学号 |
|
||
程序得分 90% |
|
作业报告 得分10% |
|
实验总分 100% |
|
作业目的: |
|||||
|
|||||
作业结果(学生填写): |
|||||
(注:折线箭头仅代表后者为前者的一个实例,弯箭头为继承,双向箭头为相关。) GameFrame GameView Unit Main WatchView DoubleGameFrame UnitKey CommunicateView 各个类说明 (注:红色的为类名,黄色的为该类中比较重要的实例对象。)
选择双人模式则进入doubleGame函数,创建DoubleGameFrame类(继承自GameFrame类)进行游戏(详见第3条)。
1.构造方法设置布局,为WatchView的对象watch的JButton添加鼠标监听器控制游戏开始和暂停,添加键盘监听器调用GameView的对象game的方法控制方块,以及计时器timer调用game中的方法控制方块下落和游戏的开始暂停; 2.方法updateData在方块落致底部时由timer调用,令game和watch更新游戏数据(如消去行,提取一个新的下落方块,增加得分,通过关卡,改变timer的延时加快方块下落速度等),返回值为消去的行数; 3.方法resetGame在每次开始新游戏之前对数据进行重置; 4.方法restartGame在暂停时恢复游戏,否则开始新游戏; 5.方法pauseGame暂停游戏; 6.方法stopGame在游戏结束时弹出提示信息。
1.构造方法使用给定的ip和发送及接受端口建立网络通信,设置布局,建立四个线程sendThread、acceptThread、sendDataThread、acceptDataThread通过输出输入流及ImageIO分别发送、接受战况视图,通过输入输出流发送、接受战况数据(对方是否消去多重行数); 2.方法creatView通过截屏创建己方战况视图并返回; 3.重写父类的方法updateData、resetGame、restartGame、pauseGame、stopGame,取消了开始暂停功能,新增winGame方法,赢得游戏则进入winGame弹出提示信息,否则进入stopGame弹出提示信息。
1.构造方法设置格式布局,以绿色背景的JLabel数组box填充,nextUnit列表存储后续的Unit方块(详见第7条),movingUnit是正在移动的Unit方块; 2.方法romoveRow消去可消去的行并返回消去数量、addRow增加指定行数; 3.方法creatNextUnit向nextUnit中添加后续的方块Unit; 4.方法getNextUnit从nextUnit中取出并试着绘制新方块movingUnit,若无法绘制,返回false,说明方块已落至顶部、游戏结束; 5.方法moveUnit根据给定的指令变换或移动正在活动的方块movingUnit,在方块落至底部的时候返回false; 6.方法paintUnit被getNextUnit和moveUnit所调用,通过改变JLabel的透明属性显现方块,试着在给定位置重新绘制正在移动的movingUnit,若超出边界或与已有方块重合则不绘制,返回false; 7.方法resetGame和endGame分别完成界面的重置、停止所有方块移动。
1.构造方法设置布局; 2.方法resetData在新一轮游戏开始时重置数据; 3.方法addStartListener和addPauseListener分别为开始和暂停按钮添加监听器; 4.方法updateData更新面板上的分数、关卡、下一个方块的信息; 5.方法getLevel为外部传递当前关卡(主要用于设置方块下落速度)。
1.构造方法设置布局; 2.方法setImage更新数据域对方战况img,并调用提供的重绘方法repaint; 3.重写方法paint,设置绘图区域与放缩,被repaint方法调用。
【Java课设--俄罗斯方块Tetris】1.两种构造方法,一种是在指定位置生成一个随机形状的Unit,另一种是用提供的key在指定位置生成指定形状的Unit; 2.方法getShape返回此Unit的形状绘制在坐标系中的坐标点数组(WatchView使用); 3.方法getChangedUnit返回此Unit经过变形或位移产生的新Unit; 4.方法getPaintLocation返回此Unit的绘制在坐标系中的坐标点数组(GameView使用)。
1.方法getRandomKey产生一个随机的key值返回,key值对应着某个方块的形状; 2.方法getNextKey返回给定key值的方块经变形后对应的key值; 3.方法getShapeByKey解读给定key值对应的方块的形状,以Point数组的形式返回形状。
B的设置(A的IP,A接受端口,B接受端口)
|
|||||
评语(总分优秀和不及格的报告必须有评语): |
|||||
评阅日期:2015年4月30日 |
转载于:https://www.cnblogs.com/jinhengyu/p/7516414.html
推荐阅读
- JAVA(抽象类与接口的区别&重载与重写&内存泄漏)
- 事件代理
- Java|Java OpenCV图像处理之SIFT角点检测详解
- java中如何实现重建二叉树
- 数组常用方法一
- 【Hadoop踩雷】Mac下安装Hadoop3以及Java版本问题
- Java|Java基础——数组
- RxJava|RxJava 在Android项目中的使用(一)
- java之static、static|java之static、static final、final的区别与应用
- Java基础-高级特性-枚举实现状态机