commonshapefactory.java
来自「用java编写的俄罗斯方块源代码」· Java 代码 · 共 41 行
JAVA
41 行
package cn.itcast.tetris.game;
import java.awt.Color;
import cn.itcast.tetris.entities.Shape;
import cn.itcast.tetris.entities.ShapeFactory;
import cn.itcast.tetris.listener.ShapeListener;
import cn.itcast.tetris.util.Global;
/**
*
* 为了扩展一些功能,可用配置文件配置这个工厂用的颜色
*
* @version 1.0, 01/01/08
*
* @author 汤阳光
*
*/
public class CommonShapeFactory extends ShapeFactory {
@Override
public Shape getShape(ShapeListener shapeListener) {
// TODO Auto-generated method stub
int type = random.nextInt(shapes.length);
int status = random.nextInt(shapes[type].length);
Shape shape = new Shape(shapes[type], status);
// System.out.println(type+"\t" + status);
shape.setColor(isColorfulShape() ? getColorByType(type)
: getDefaultShapeColor());
shape.addShapeListener(shapeListener);
return shape;
}
private Color getColorByType(int type) {
if (type < 0 || type >= Global.COMMON_COLORS.size())
return getDefaultShapeColor();
return Global.COMMON_COLORS.get(type);
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?