- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
俄罗斯方块案例分析
俄罗斯方块案例分析; 俄罗斯方块案例分析;2.俄罗斯方块的业务分析;3.俄罗斯方块的类的数据结构设计; 3)俄罗斯方块(Tetris)类继承于Jpanel空白面板类作为图形界面,实现俄罗斯方块的具体功能。类中包含的属性有:
用户的得分int score
消除的行数int lines
贴图的创建public static Image J,I,Z,S,T,O,L,groundback
20行10列的格子类型(Cell)的墙Cell[][] wall = new Cell[20][10]
正在下落的俄罗斯方块Tetromino Tetromino
下一个要下降的方块, Tetromino nextOne
类中的方法:
图形界面的绘制paint(Graphics g),在此方法中包含了画墙,画分数,画 正在
下落的方块,下一个下落的方块
启动软件action ()内部包含了键盘的 命令控制以及相应的算法调用
俄罗斯方块的的下落,左移,右移,左旋转,右旋转,检查边界,检查重合, 消除行数,降落到墙
;4.俄罗斯方块的方法流程;5.俄罗斯方块的具体方法实现;2)俄罗斯方块的自动掉落
要实现俄罗斯方块的自动掉落就必须要定义一个计时器对象,通过让计时器对象在指定的时间段内重复做俄罗斯方块的下降命令,就可以实现俄罗斯方块的自动掉落。但必须注意的是必须在每次重复掉落的时候重绘一下面板,这样才能够在面板中清楚的观察到俄罗斯方块的下落行为。
private Timer timer;//创建一个计时器对象
private int inteval = 800;//间隔时间
TimerTask task = new TimerTask(){//创建一个新的计时器任务
public void run(){
softDropAction();
repaint();
}
};
timer = new Timer();//创建定时器
timer.schedule(task, inteval,inteval);;3)俄罗斯方块的旋转; 由于要在每种俄罗斯方块中添加它的旋转状态,所以在Tetromino类中添加描述俄罗斯方块状态的内部类。
具体代码:
protected class State{
下面的八个属性就表示每个格子与旋转轴格子的行,列的相对位置
int row0,col0, row1,col1, row2,col2, row3,col3;
public State(int row0, int col0, int row1, int col1, int row2,
int col2, int row3, int col3) {
super();
this.row0 = row0;
this.col0 = col0;
this.row1 = row1;
this.col1 = col1;
this.row2 = row2;
this.col2 = col2;
this.row3 = row3;
this.col3 = col3;
}
};每次调用旋转算法的时候,先让index旋转状态下标加一(右转)或减一(左转),然后用旋转状态下标对旋转状态数组取余,就可以得到下一个俄罗斯方块状态,然后分别用旋转轴的行列坐标与下一个俄罗斯方块状态中行列分别想加,即可以得到下一个状态的实际的俄罗斯方块的位置信息。
具体代码:
public void rotateRight(){
index++;//10001
State s = states[index%states.length];//[1],得到s = s1状态,取余运算,循环获取四种不同的状态
Cell o = ce
您可能关注的文档
最近下载
- 中国高尔夫差点系统会员入会申请书.doc
- 江苏国泰(002091)公司2023年财务分析研究报告.doc
- 2024执业药师继续教育药物分析(3)参考答案.docx
- DB11T 383-2023 建筑工程施工现场安全资料管理规程.docx
- 总体国家安全观授课.pptx VIP
- 一种聚4-甲基-1-戊烯中空纤维膜的制备方法.pdf VIP
- DB11T 1832.2-2023 建筑工程施工工艺规程 第2部分:防水工程.docx
- 普外科麻醉科运用PDCA循环提高患者术后自控镇痛有效率QCC品管圈成果汇报书.docx
- 海信BCD-203FH电冰箱使用说明书.pdf
- 哈工大尹海洁社会统计学(第2版)课后习题答案.docx
文档评论(0)