文档介绍:项目实战 --俄罗斯方块
主讲:汤阳光
IT资讯交流网.
程序演示
IT资讯交流网.
从什么地方入手
涉及到几个对象(类)
每个类有什么方法
IT资讯交流网.
游戏的显示面板
GamePanel 类
void display(); // 显示
IT资讯交流网.
方块
Shape 类
void moveLeft(); // 左移
void moveRight(); // 右移
void moveDown(); // 下移
void rotate(); // 旋转(变形)
void drawMe(); // 显示
自己能定时下移
IT资讯交流网.
图形工厂
ShapeFactory 类 (图形工厂)
Shape getShape(); // 生产出不同形状的图形
IT资讯交流网.
Ground
Ground类
void accept(Shape); // 接受图形, 把图形变成障碍物
void drawMe(); // 显示
IT资讯交流网.
类之间的关系
Shape
定时下落
Controller
处理按键事件
处理逻辑
GamePanel
显示
ShapeFactory
图形工厂
生产
Ground
触发按键事件
根据不同的情况, 向Shape, ShapeFactory, Ground或GamePanel发出不同的指令
IT资讯交流网.
不要和陌生人说话
图形定时下落, 每下落一次后都需要重新显示
图形移动和变形后,也需要重新显示
它又不能直接操控GamePanel,怎么办呢?
IT资讯交流网.
Controller
通过事件监听建立联系
Shape
定时下落
GamePanel
ShapeListener
处理按键事件
触发按键事件
重新显示
事件源
事件源
下落后,触发事件
shapeMovedDown
状态改变
需要重新显示
IT资讯交流网.