Project 3 - Play Tetris

profileNick2020
tetris5044.jar

META-INF/MANIFEST.MF

Manifest-Version: 1.0 Implementation-Title: Tetris 5044 Permissions: sandbox Codebase: * JavaFX-Version: 8.0 Class-Path: Created-By: JavaFX Packager Implementation-Vendor: 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 getMaximumBlockHeight(Board);
    public abstract int getTotalBlockCount(Board);
    public abstract int getTotalGapCount(Board);
    public abstract int getColumnHeightVariability(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;
    public void Board();
    Board getCopy();
    public transient void Board(String[]);
    private boolean isCollision(Piece, Coordinate);
    public boolean isBlockAt(int, int);
    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/Box$1.class

package edu.vt.cs5044.tetris;
synchronized class Box$1 extends javafx.beans.binding.ObjectBinding {
    void Box$1(Box);
    protected Number computeValue();
}

edu/vt/cs5044/tetris/Box$2.class

package edu.vt.cs5044.tetris;
synchronized class Box$2 extends javafx.beans.binding.ObjectBinding {
    void Box$2(Box);
    protected Number computeValue();
}

edu/vt/cs5044/tetris/Box$3.class

package edu.vt.cs5044.tetris;
synchronized class Box$3 extends javafx.beans.binding.ObjectBinding {
    void Box$3(Box);
    protected Number computeValue();
}

edu/vt/cs5044/tetris/Box.class

package edu.vt.cs5044.tetris;
synchronized class Box extends javafx.scene.shape.Rectangle {
    private final Coordinate coord;
    private final GameManager manager;
    void Box(GameManager, Coordinate);
    Coordinate getCoordinate();
}

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);
    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/GameManager$1.class

package edu.vt.cs5044.tetris;
synchronized class GameManager$1 {
    static void <clinit>();
}

edu/vt/cs5044/tetris/GameManager.class

package edu.vt.cs5044.tetris;
synchronized class GameManager {
    private final javafx.scene.layout.Pane gamePane;
    private final javafx.scene.layout.Pane innerPane;
    private final Board board;
    private final java.util.Map boxMap;
    private final InfoPane infoPane;
    private final ScorePane scorePane;
    private final javafx.animation.Timeline dropTimeline;
    private boolean readyToPlay;
    private UserPlacement placement;
    private AI brain;
    private boolean brainActive;
    private final javafx.beans.property.SimpleIntegerProperty pcountProp;
    private final javafx.beans.property.SimpleIntegerProperty rclearProp;
    private int speedLevel;
    private boolean turboMode;
    private RandomMode randomMode;
    private ShapeStream shapeStream;
    void GameManager(javafx.scene.layout.Pane, Board);
    final void gameOver();
    javafx.scene.layout.Pane getParentPane();
    void addBlocks(java.util.Set);
    final void placeNextPiece();
    void start();
    javafx.beans.property.SimpleIntegerProperty getPcountProp();
    javafx.beans.property.SimpleIntegerProperty getRclearProp();
    private void startDropTimer();
}

edu/vt/cs5044/tetris/InfoPane$1.class

package edu.vt.cs5044.tetris;
synchronized class InfoPane$1 extends javafx.beans.binding.DoubleBinding {
    void InfoPane$1(InfoPane, javafx.scene.text.Text);
    protected double computeValue();
}

edu/vt/cs5044/tetris/InfoPane.class

package edu.vt.cs5044.tetris;
synchronized class InfoPane extends javafx.scene.layout.StackPane {
    void InfoPane();
    void setup(GameManager);
    void show();
    void hide();
}

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 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/ScorePane$1.class

package edu.vt.cs5044.tetris;
synchronized class ScorePane$1 extends javafx.beans.binding.ObjectBinding {
    void ScorePane$1(ScorePane, GameManager);
    protected String computeValue();
}

edu/vt/cs5044/tetris/ScorePane$2.class

package edu.vt.cs5044.tetris;
synchronized class ScorePane$2 extends javafx.beans.binding.DoubleBinding {
    void ScorePane$2(ScorePane, javafx.scene.text.Text);
    protected double computeValue();
}

edu/vt/cs5044/tetris/ScorePane.class

package edu.vt.cs5044.tetris;
synchronized class ScorePane extends javafx.scene.layout.StackPane {
    void ScorePane();
    void setup(GameManager);
    void show();
    void hide();
}

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 getRotationSet();
    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 extends javafx.application.Application {
    public void Tetris5044();
    public void start(javafx.stage.Stage) throws Exception;
    public static void main(String[]);
}

edu/vt/cs5044/tetris/Tetris5044Launcher$1.class

package edu.vt.cs5044.tetris;
final synchronized class Tetris5044Launcher$1 extends javafx.beans.binding.ObjectBinding {
    void Tetris5044Launcher$1(javafx.stage.Stage);
    protected javafx.geometry.Insets computeValue();
}

edu/vt/cs5044/tetris/Tetris5044Launcher.class

package edu.vt.cs5044.tetris;
synchronized class Tetris5044Launcher {
    void Tetris5044Launcher();
    static void launch(javafx.stage.Stage);
}

edu/vt/cs5044/tetris/UserPlacement.class

package edu.vt.cs5044.tetris;
final synchronized class UserPlacement extends javafx.scene.Group {
    private final GameManager manager;
    private final Board board;
    private final java.util.Set boxSet;
    private Piece piece;
    private Coordinate coord;
    void UserPlacement(GameManager, Board, Piece, Coordinate);
    Piece getPiece();
    private boolean isBoardCollision(Piece, Coordinate);
    void lockIntoBoard();
    void rotate();
    void applyMove(Placement);
    void toColumn(int);
    void shiftLeft();
    void shiftRight();
    boolean shiftDown();
    void forceUp();
    final void createBoxes();
}

edu/vt/cs5044/tetris/package-info.class

package edu.vt.cs5044.tetris;
interface package-info {
}