public class FallMove implements Runnable{
	private Field field;
	private Tetoris tetoris;
	private int basespeed;
	private int speed;
	private int speedup = 7;
	public FallMove(Field field,Tetoris tetoris){
		this.field = field;
		this.tetoris = tetoris;
		this.basespeed = 200;
		this.speed = 200;
	}
	public void run(){
		while(!field.getGameOver()){
			try{
				int a_speed = speed;
				if(field.getBaisokumode()){
					a_speed = speed / 2;
				}
				Thread.sleep(a_speed);
				field.setPrev_x(1);
				if(field.getPrev_x() >= 0){
					if(field.blockOutCheck() || field.blockPildCheck()){
						field.setPrev_x(-1);
						field.blockDecide();
					}
				}else{
					if(field.blockPildCheck()){
						field.setPrev_x(-1);
						field.blockDecide();
					}
				}
			}catch(InterruptedException e){
			}
			tetoris.repaint();
		}
	}
	public void setSpeed(){
		speed = basespeed - speedup * field.getLevel();
	}
}
	