@Override
	public synchronized boolean runTick() {

		if(this.myIsGameOver)
			return false;


		if(myIsStuck){
			if(checkIfStuck()){
				crashPiece();
				return false;
			}
			else{
				myIsStuck = false;
			}
		}
		
		if(myPiece.equals(IPiece.NULL_OP)){
			clearRows();
			return true && !this.myIsGameOver;
		}

		// Move the piece down one space
		if(checkMove(new Point(0, -1)))
			myPieceLocation.translate(0, -1);

		correctLocation();

		if(checkIfStuck())
			myIsStuck = true;

		repaint();

		return false;
	}