Tetris/Java: Difference between revisions

m
turn previewOffsets into EnumMap
m (each Shape should just have one shape)
m (turn previewOffsets into EnumMap)
Line 6:
import java.util.Arrays;
import java.util.Random;
import java.util.EnumMap;
import javax.swing.*;
 
Line 209 ⟶ 210:
// preview
int idx = preSelectedShape.ordinal();
int offsetX = Config.previewOffets[idx]previewOffsets.get(preSelectedShape)[0] + 15 * blockSize;
int offsetY = Config.previewOffets[idx]previewOffsets.get(preSelectedShape)[1] + 2 * blockSize;
 
g.translate(offsetX, offsetY);
Line 466 ⟶ 467:
 
private Shape(int[][] shape) {
this.shape = shape;
pos = new int[4][2];
reset();
Line 485 ⟶ 486:
 
// used for centering shapes in the preview pane
final static EnumMap<Shape, int[][]> previewOffetspreviewOffsets = {{16,new 15}, {-15, 15}, {0, 0},EnumMap<>(Shape.class);
static {
{0, 0}, {-15, 5}, {16, 15}, {-15, 15}};
previewOffsets.put(Shape.ZShape, new int[]{16, 15});
previewOffsets.put(Shape.SShape, new int[]{-15, 15});
previewOffsets.put(Shape.Straight, new int[]{0, 0});
previewOffsets.put(Shape.TShape, new int[]{0, 0});
previewOffsets.put(Shape.Square, new int[]{-15, 5});
previewOffsets.put(Shape.LShape, new int[]{16, 15});
previewOffsets.put(Shape.JShape, new int[]{-15, 15});
}
 
final static Font mainFont = new Font("Monospaced", Font.BOLD, 48);
Anonymous user