Java- Play Tetris
META-INF/MANIFEST.MF
Manifest-Version: 1.0 Ant-Version: Apache Ant 1.10.4 Created-By: 11.0.2+9 (Oracle Corporation) Main-Class: edu.vt.cs5044.tetris.Tetris5044
edu/vt/cs5044/tetris/AI.class
package edu.vt.cs5044.tetris; public abstract interface AI { public abstract Placement findBestPlacement(Board, Shape); public abstract int getColumnHeightRange(Board); public abstract int getAverageColumnHeight(Board); public abstract int getTotalGapCount(Board); public abstract int getColumnHeightVariance(Board); }
edu/vt/cs5044/tetris/Board.class
package edu.vt.cs5044.tetris; public synchronized class Board { public static final int WIDTH = 10; public static final int HEIGHT = 24; public static final int HEIGHT_LIMIT = 20; private final java.util.Set blockSet; private boolean[][] fixedBlocksCache; private boolean validCache; public void Board(); void Board(Board); Board getCopy(); public transient void Board(String[]); private boolean isCollision(Piece, Coordinate); public boolean[][] getFixedBlocks(); public Board getResultBoard(Shape, Placement); void clear(); boolean isValidMove(Placement, Piece); java.util.Set getBlockSet(); void addBlocks(java.util.Set); private boolean isRowFilled(int); private void shiftRowsDownTo(int); int clearRows(); public String toString(); public boolean equals(Object); public int hashCode(); }
edu/vt/cs5044/tetris/Coordinate.class
package edu.vt.cs5044.tetris; final synchronized class Coordinate { private final int x; private final int y; static Coordinate at(int, int); static Coordinate at(Coordinate); private void Coordinate(int, int); int getX(); int getY(); Coordinate shiftLeft(); Coordinate shiftRight(); Coordinate shiftUp(); Coordinate shiftDown(); Coordinate relativeTo(Coordinate); public String toString(); public boolean equals(Object); public int hashCode(); }
edu/vt/cs5044/tetris/GameComponent.class
package edu.vt.cs5044.tetris; synchronized class GameComponent extends javax.swing.JComponent { private final java.awt.Font BASE_FONT; private final java.awt.Rectangle tempRectangle; private final java.awt.Color DARK_BLUE; private final java.awt.Color ALICE_BLUE; private final java.awt.Color SLATE_GRAY; private final java.awt.Color LIGHT_CORAL; private final java.awt.Color SILVER; private final java.awt.Dimension PREFERRED_SIZE; private final GameManager manager; private int x; private int y; private int w; private int h; void GameComponent(GameManager); private void setup(); public void paintComponent(java.awt.Graphics); private void coordToRect(Coordinate, java.awt.Rectangle); public java.awt.Dimension getPreferredSize(); }
edu/vt/cs5044/tetris/GameManager$1.class
package edu.vt.cs5044.tetris; synchronized class GameManager$1 extends java.awt.event.KeyAdapter { void GameManager$1(GameManager); public void keyPressed(java.awt.event.KeyEvent); public void keyTyped(java.awt.event.KeyEvent); }
edu/vt/cs5044/tetris/GameManager.class
package edu.vt.cs5044.tetris; synchronized class GameManager { private final Board board; private boolean inProgress; private AI brain; private boolean brainActive; private int speedLevel; private boolean turboActive; private RandomMode randomMode; private ShapeStream shapeStream; private int score; private UserPlacement userPlace; private Placement compPlace; private GameComponent gameComp; private final javax.swing.Timer timer; void GameManager(); private int speedToTime(int); private void tick(java.awt.event.ActionEvent); void setGameComponent(GameComponent); private void startGame(); private void stopGame(); private boolean isGameOver(); boolean hasCompPlace(); private void nextShape(); private void lockPiece(); private void drop(); private void shiftLeft(); private void shiftRight(); private void rotate(); private RandomMode nextRandom(); UserPlacement getUserPlacement(); Board getBoard(); int getScore(); boolean isInProgress(); }
edu/vt/cs5044/tetris/Piece.class
package edu.vt.cs5044.tetris; synchronized class Piece { private final Shape shape; private final Rotation rotation; private final int minX; private final int maxX; private final int minY; private final int maxY; private final java.util.Set blockSet; void Piece(Shape, Rotation); Piece nextRotation(); Shape getShape(); Rotation getRotation(); java.util.Set getBlocks(); int getWidth(); int getHeight(); int getMaxX(); int getMinX(); int getMaxY(); int getMinY(); public boolean equals(Object); public int hashCode(); public String toString(); }
edu/vt/cs5044/tetris/Placement.class
package edu.vt.cs5044.tetris; public synchronized class Placement { private final Rotation rotation; private final int column; public void Placement(Rotation, int); public Rotation getRotation(); public int getColumn(); public String toString(); public boolean equals(Object); public int hashCode(); }
edu/vt/cs5044/tetris/RandomMode$1.class
package edu.vt.cs5044.tetris; synchronized class RandomMode$1 { static void <clinit>(); }
edu/vt/cs5044/tetris/RandomMode.class
package edu.vt.cs5044.tetris; public final synchronized enum RandomMode { public static final RandomMode NORMAL; public static final RandomMode TEST1; public static final RandomMode TEST2; public static final RandomMode TEST3; public static final RandomMode TEST4; private final int value; public static RandomMode[] values(); public static RandomMode valueOf(String); private void RandomMode(String, int, int); RandomMode next(); int getValue(); public static java.util.Set getTestSet(); static void <clinit>(); }
edu/vt/cs5044/tetris/Rotation$1.class
package edu.vt.cs5044.tetris; synchronized class Rotation$1 { static void <clinit>(); }
edu/vt/cs5044/tetris/Rotation.class
package edu.vt.cs5044.tetris; public final synchronized enum Rotation { public static final Rotation NONE; public static final Rotation CCW_90; public static final Rotation CCW_180; public static final Rotation CCW_270; private final int value; public static Rotation[] values(); public static Rotation valueOf(String); private void Rotation(String, int, int); int getValue(); Rotation getNext(); static void <clinit>(); }
edu/vt/cs5044/tetris/Shape.class
package edu.vt.cs5044.tetris; public final synchronized enum Shape { public static final Shape I; public static final Shape O; public static final Shape T; public static final Shape J; public static final Shape L; public static final Shape S; public static final Shape Z; private final java.util.List coordSetList; private final java.util.Set rotationSet; public static Shape[] values(); public static Shape valueOf(String); private transient void Shape(String, int, java.util.List[]); public java.util.Set getValidRotationSet(); public int getWidth(Rotation); int countOrientations(); java.util.Set getBlocks(int); static void <clinit>(); }
edu/vt/cs5044/tetris/ShapeStream.class
package edu.vt.cs5044.tetris; public synchronized class ShapeStream { private final java.util.Random random; public void ShapeStream(RandomMode); public Shape nextShape(); }
edu/vt/cs5044/tetris/Tetris5044.class
package edu.vt.cs5044.tetris; public synchronized class Tetris5044 { private void Tetris5044(); private static void createGui(); public static void main(String[]); }
edu/vt/cs5044/tetris/UserPlacement.class
package edu.vt.cs5044.tetris; synchronized class UserPlacement { private final Board board; private Piece piece; private Coordinate coord; void UserPlacement(Board, Piece); void UserPlacement(Board, Piece, int); Coordinate getCoordinate(); Piece getPiece(); private boolean isBoardCollision(Piece, Coordinate); void lockIntoBoard(); void rotate(); void shiftLeft(); void shiftRight(); boolean shiftDown(); }
edu/vt/cs5044/tetris/package-info.class
package edu.vt.cs5044.tetris; interface package-info { }