java俄罗斯方块

java俄罗斯方块

ID:20791486

大小:230.50 KB

页数:33页

时间:2018-10-15

java俄罗斯方块_第1页
java俄罗斯方块_第2页
java俄罗斯方块_第3页
java俄罗斯方块_第4页
java俄罗斯方块_第5页
资源描述:

《java俄罗斯方块》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、项目实战  --俄罗斯方块主讲:贾宗维程序演示从什么地方入手涉及到几个对象(类)每个类有什么方法游戏的显示面板GamePanel类voiddisplay();//显示方块Shape类voidmoveLeft();//左移voidmoveRight();//右移voidmoveDown();//下移voidrotate();//旋转(变形)voiddrawMe();//显示自己能定时下移privateclassShapeDriverimplementsRunnable{@Overridepublicvo

2、idrun(){//TODOAuto-generatedmethodstubwhile(true){moveDown();listener.shapeMoveDown(Shape.this);try{Thread.sleep(1000);}catch(InterruptedExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}}}}图形工厂ShapeFactory类(图形工厂)ShapegetShape();//生产出不同形状的图

3、形GroundGround类voidaccept(Shape);//接受图形,把图形变成障碍物voiddrawMe();//显示类之间的关系Shape定时下落Controller处理按键事件处理逻辑GamePanel显示ShapeFactory图形工厂生产Ground触发按键事件根据不同的情况,向Shape,ShapeFactory,Ground或GamePanel发出不同的指令创建一个监听器接口图形定时下落,每下落一次后都需要重新显示图形移动和变形后,也需要重新显示它又不能直接操控GamePanel

4、,怎么办呢?Controller通过事件监听建立联系Shape定时下落GamePanelShapeListener处理按键事件触发按键事件重新显示事件源事件源下落后,触发事件shapeMovedDown状态改变需要重新显示ShapeListenerShapeListener:voidshapeMovedDown(Shape);基本概念:怎么表示图形,障碍物可以把显示区域想象成一个大大表格,一个格子可以代表一个障碍物,几个连在一起的格子可以组成一个图形。怎么区分格子呢(怎么表示这个格子呢)?用坐标,每个

5、格子有它自己的坐标,左上角的那个格子的坐标是(0,0)基本概念:怎么表示图形,障碍物(0,0)(1,0)(0,1)(2,2)(3,2)(3,3)(4,3)障碍物障碍物障碍物障碍物障碍物障碍物障碍物障碍物障碍物障碍物障碍物y坐标x坐标012345678012345重要概念:怎么表示图形的状态可以用一个4×4的方阵表示,每一个图形都可以有多种状态。如下所示为什么用4×4的方阵表示?因为最宽的和最高的图形就是4个宽或4个高(杠子)图形变形变形就是显示下一个状态表示图形的状态1000111000000000用

6、一个数组表示,左图用如下数组表示{1,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0}图形的多种状态1000111000000000110010001000000011100010000000000100010011000000一个图形可以有多种状态,左边的图形可以这样表示:{{1,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0},{1,1,0,0,1,0,0,0,1,0,0,0,0,0,0,0},{1,1,1,0,0,0,1,0,0,0,0,0,0,0,0,0},{0,1,0

7、,0,0,1,0,0,1,1,0,0,0,0,0,0}}图形的移动图形类里面要保存自己的位置信息,用left表示图形到左边界的距离,top表示图形到上边界的距离图形移动就是改变left和top的值基本概念:图形绝对坐标和相对坐标(0,0)(1,0)(0,1)(2,2)(0,0)(3,2)(1,0)(3,3)(1,1)(4,3)(2,1)障碍物障碍物障碍物障碍物障碍物障碍物障碍物障碍物障碍物障碍物障碍物障碍物障碍物y坐标x坐标(0,0)0123456789012345lefttop图形的移动(2,2)(

8、3,2)(2,3)y坐标x坐标0123401234向上移动top减1向左移动left减1向下移动top加1向右移动left加1topleft画图形把组成图形的格子画出来:画方阵中标志为1的格子,标志为0的不画。图形中的格子的在显示区域中的位置为:x坐标:left+格子的x相对坐标y坐标:top+格子的y相对坐标(相对坐标是格子在方阵中的坐标)格子的宽度和高度像素坐标(x,y)矩形(格子)的宽度CELL_WIDTH矩形(格子)的高度CELL_HEIGHT格

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。