package com.wsp.tetris;
import java.awt.Color;
import java.awt.Graphics;
import java.util.Random;
public class Tetris
{
public int[][] wall = null;
public int[][][][] bricks =
//O
{{{{0 , 1 , 1 , 0},
{0 , 1 , 1 , 0},
{0 , 0 , 0 , 0},
{0 , 0 , 0 , 0}},
{{0 , 1 , 1 , 0},
{0 , 1 , 1 , 0},
{0 , 0 , 0 , 0},
{0 , 0 , 0 , 0}},
{{0 , 1 , 1 , 0},
{0 , 1 , 1 , 0},
{0 , 0 , 0 , 0},
{0 , 0 , 0 , 0}},
{{0 , 1 , 1 , 0},
{0 , 1 , 1 , 0},
{0 , 0 , 0 , 0},
{0 , 0 , 0 , 0}}},
//S
{{{0 , 0 , 0 , 0},
{0 , 1 , 1 , 0},
{1 , 1 , 0 , 0},
{0 , 0 , 0 , 0}},
{{0 , 1 , 0 , 0},
{0 , 1 , 1 , 0},
{0 , 0 , 1 , 0},
{0 , 0 , 0 , 0}},
{{0 , 0 , 0 , 0},
{0 , 1 , 1 , 0},
{1 , 1 , 0 , 0},
{0 , 0 , 0 , 0}},
{{0 , 1 , 0 , 0},
{0 , 1 , 1 , 0},
{0 , 0 , 1 , 0},
{0 , 0 , 0 , 0}}},
//Z
{{{0 , 0 , 0 , 0},
{1 , 1 , 0 , 0},
{0 , 1 , 1 , 0},
{0 , 0 , 0 , 0}},
{{0 , 1 , 0 , 0},
{1 , 1 , 0 , 0},
{1 , 0 , 0 , 0},
{0 , 0 , 0 , 0}},
{{0 , 0 , 0 , 0},
{1 , 1 , 0 , 0},
{0 , 1 , 1 , 0},
{0 , 0 , 0 , 0}},
{{0 , 1 , 0 , 0},
{1 , 1 , 0 , 0},
{1 , 0 , 0 , 0},
{0 , 0 , 0 , 0}}},
//J
{{{0 , 1 , 0 , 0},
{0 , 1 , 0 , 0},
{1 , 1 , 0 , 0},
{0 , 0 , 0 , 0}},
{{0 , 0 , 0 , 0},
{1 , 1 , 1 , 0},
{0 , 0 , 1 , 0},
{0 , 0 , 0 , 0}},
{{0 , 1 , 1 , 0},
{0 , 1 , 0 , 0},
{0 , 1 , 0 , 0},
{0 , 0 , 0 , 0}},
{{1 , 0 , 0 , 0},
{1 , 1 , 1 , 0},
{0 , 0 , 0 , 0},
{0 , 0 , 0 , 0}}},
//L
{{{0 , 1 , 0 , 0},
{0 , 1 , 0 , 0},
{0 , 1 , 1 , 0},
{0 , 0 , 0 , 0}},
{{0 , 0 , 1 , 0},
{1 , 1 , 1 , 0},
{0 , 0 , 0 , 0},
{0 , 0 , 0 , 0}},
{{1 , 1 , 0 , 0},
{0 , 1 , 0 , 0},
{0 , 1 , 0 , 0},
{0 , 0 , 0 , 0}},
{{0 , 0 , 0 , 0},
{1 , 1 , 1 , 0},
{1 , 0 , 0 , 0},
{0 , 0 , 0 , 0}}},
//T
{{{0 , 0 , 0 , 0},
{1 , 1 , 1 , 0},
{0 , 1 , 0 , 0},
{0 , 0 , 0 , 0}},
{{0 , 1 , 0 , 0},
{0 , 1 , 1 , 0},
{0 , 1 , 0 , 0},
{0 , 0 , 0 , 0}},
{{0 , 1 , 0 , 0},
{1 , 1 , 1 , 0},
{0 , 0 , 0 , 0},
{0 , 0 , 0 , 0}},
{{0 , 1 , 0 , 0},
{1 , 1 , 0 , 0},
{0 , 1 , 0 , 0},
{0 , 0 , 0 , 0}}},
//I
{{{0 , 1 , 0 , 0},
{0 , 1 , 0 , 0},
{0 , 1 , 0 , 0},
{0 , 1 , 0 , 0}},
{{0 , 0 , 0 , 0},
{1 , 1 , 1 , 1},
{0 , 0 , 0 , 0},
{0 , 0 , 0 , 0}},
{{0 , 1 , 0 , 0},
{0 , 1 , 0 , 0},
{0 , 1 , 0 , 0},
{0 , 1 , 0 , 0}},
{{0 , 0 , 0 , 0},
{1 , 1 , 1 , 1},
{0 , 0 , 0 , 0},
{0 , 0 , 0 , 0}}}};
private int size = 0;
public int delay = 500;
private int x = 3;
private int y = -4;
private int shape = 0;
private int circle = 0;
public int nextShape = 0;
private double currentTime = 0;
private double lastTime = 0;
public int level = 1;
public int eliminationLine = 0;
public int score = 0;
private Random r = new Random();