Respuestas

2012-06-12T08:30:37+02:00
a crear tres clases la primera Clase Shape En esta clase es en donde se crean las diferentes figuras del juego, por cierto estas figuras se llamanTetrominoes
view plainprint? /**   *  [email protected]   */   import java.util.Random;      public class Shape {          public enum Tetrominoes {              NoShape, ZShape, SShape, LineShape,           TShape, SquareShape, LShape, MirroredLShape       };       private Tetrominoes pieceShape;       private int coords[][];       private int[][][] coordsTable;          public Shape() {           coords = new int[4][2];           setShape(Tetrominoes.NoShape);       }          public void setShape(Tetrominoes shape) {              coordsTable = new int[][][]{                       {{00}, {00}, {00}, {00}},                       {{0, -1}, {00}, {-10}, {-11}},                       {{0, -1}, {00}, {10}, {11}},                       {{0, -1}, {00}, {01}, {02}},                       {{-10}, {00}, {10}, {01}},                       {{00}, {10}, {01}, {11}},                       {{-1, -1}, {0, -1}, {00}, {01}},                       {{1, -1}, {0, -1}, {00}, {01}}                   };              for (int i = 0; i < 4; i++) {               for (int j = 0; j < 2; ++j) {                   coords[i][j] = coordsTable[shape.ordinal()][i][j];               }           }           pieceShape = shape;          }          private void setX(int index, int x) {           coords[index][0] = x;       }          private void setY(int index, int y) {           coords[index][1] = y;       }          public int x(int index) {           return coords[index][0];       }          public int y(int index) {           return coords[index][1];       }          public Tetrominoes getShape() {           return pieceShape;       }          public void setRandomShape() {           Random r = new Random();           int x = Math.abs(r.nextInt()) % 7 + 1;           Tetrominoes[] values = Tetrominoes.values();           setShape(values[x]);       }          public int minX() {           int m = coords[0][0];           for (int i = 0; i < 4; i++) {               m = Math.min(m, coords[i][0]);           }           return m;       }          public int minY() {           int m = coords[0][1];           for (int i = 0; i < 4; i++) {               m = Math.min(m, coords[i][1]);           }           return m;       }          public Shape rotateLeft() {           if (pieceShape == Tetrominoes.SquareShape) {               return this;           }              Shape result = new Shape();           result.pieceShape = pieceShape;              for (int i = 0; i < 4; ++i) {               result.setX(i, y(i));               result.setY(i, -x(i));           }           return result;       }          public Shape rotateRight() {           if (pieceShape == Tetrominoes.SquareShape) {               return this;           }              Shape result = new Shape();           result.pieceShape = pieceShape;              for (int i = 0; i < 4; ++i) {               result.setX(i, -y(i));               result.setY(i, x(i));           }           return result;       }   }