首页 俄罗斯方块历程

俄罗斯方块历程

举报
开通vip

俄罗斯方块历程俄罗斯方块历程 版本1.0:效果图 步骤: 1@ 首先建造主框架图Frame(注意控制面板的的大小) (记住添加setDefaultCloseOperation( EXIT_ON_CLOSE ) ;防止占用内存) 2@ 建造面板JPanel(注意在set;ayout 方法时采用流式布局管理 new FlowLayout( FlowLayout.RIGHT ))来存放按钮 *******重要 3@ 以此存放好好“分数”、“速度”、版本信息、横线等 4@ 增加监听...

俄罗斯方块历程
俄罗斯方块历程 版本1.0:效果图 步骤: 1@ 首先建造主框架图Frame(注意控制面板的的大小) (记住添加setDefaultCloseOperation( EXIT_ON_CLOSE ) ;防止占用内存) 2@ 建造面板JPanel(注意在set;ayout 方法时采用流式布局管理 new FlowLayout( FlowLayout.RIGHT ))来存放按钮 *******重要 3@ 以此存放好好“分数”、“速度”、版本信息、横线等 4@ 增加监听,写一个私有监听内部类GameListener 实现(implements)接口 ActionListerner、KeyLisetener (注意要在面板中增加按键监听“addKeyListener( new GasmeListener)”;) 5@ 重点::::::按钮得到监听后一定记住还回焦点!!!!requestFocus(true); 实例:if(e.getSource() == beginGame) { if(e.getActionCommand() == "开始") { beginGame.setText("重置"); requestFocus(true); // 焦点 System.out.println("0"); start = true; if( !isNewAct() ) { 6@、对于图画的移动,一定会有一个移动的方法(move)此次移动的代码为: (注意:每移动一次就要重画一次@!!!!!!!) public void move(int x,int y) { if(minYes(x,y)){ for(int i = 0;i < gAct.length;i++){ System.out.println("0"); gAct[i].setX(gAct[i].getX()+x); gAct[i].setY(gAct[i].getY()+y); /*gAct[i].x += x; gAct[i].y += y;*/ } } repaint(); // 注意要重画,否则无法显示下一次 } 7@、定义GameAct类!!!!以判定图片方块位置 8@ 设计时可以把方框设成10x18的方框,来设计图块位置 9@ 图块范围选定为旋转算法: public boolean minYes(int x,int y) { for(int i = 0;i < gAct.length;i++) { if(!maxYes(gAct[i].getX()+x,gAct[i].getY()+y)) { return false; } } return true; } public boolean maxYes(int x,int y) { if(x < 0 || x > 9 || y < 0 || y > 17) { return false; } return true; } 版本2.0 向上的旋转算法 public void keyUp() { GameAct[] tempUp = new GameAct[4]; // 临时 记录 混凝土 养护记录下载土方回填监理旁站记录免费下载集备记录下载集备记录下载集备记录下载 位置 for(int i = 0;i < tempUp.length;i++) { // 记录原来的值,以便进行实时改变 tempUp[i] = new GameAct(); tempUp[i].setX(gAct[i].getX()); tempUp[i].setY(gAct[i].getY()); } Int cx = ( tempUp[0].getX()+tempUp[1].getX()+tempUp[2].getX()+tempUp[3].getX() )/4; int cy = ( tempUp[0].getY()+tempUp[1].getY()+tempUp[2].getY()+tempUp[3].getY() )/4; for(int i = 0;i < tempUp.length;i++) { tempUp[i].setX(cx+cy-gAct[i].getY()); tempUp[i].setY(cy-cx+gAct[i].getX()); } for(int i = 0;i < tempUp.length;i++) { if(!maxYes(tempUp[i].getX(),tempUp[i].getY())) { return ; } } for(int i = 0;i < tempUp.length;i++) { gAct[i].setX(tempUp[i].getX()); gAct[i].setY(tempUp[i].getY()); } repaint(); // 每次改变了值后就得重画 } 生成下个方块 记录好下个随机数!!! 将随机数定义为成员变量而非局部变量,同时在可以newAct()== true时产生下个随机数(一个是监听一个是向下方向)然后用一个临时数组( GameAct[] gActTemp = new GameAct[4];)记录好下各个的位置及下个的newAct();
本文档为【俄罗斯方块历程】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_174366
暂无简介~
格式:doc
大小:145KB
软件:Word
页数:3
分类:互联网
上传时间:2012-05-27
浏览量:20