private void start() {
			spawnRandom();
		for (int i = 2; i < 5; i++) {
			for (int j = 2; j < 5; j++) {
				Tile tile;
				try {
					tile = (Tile) target.board[i - 2][j - 2].clone();
					tile.setX(tile.getX() - Tile.WIDTH);
					tile.setY(tile.getY() - Tile.HEIGHT);
					board[i - 1][j - 1] = tile;
				} catch (CloneNotSupportedException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}
		}
		if (!hasStarted)
			hasStarted = true;
		for(int i=0;true;i++){
			Random random=new Random();
			int j=random.nextInt(4);
			if(j==0){
			moveTiles(Direction.UP);
			solution.add(Direction.DOWN);
			}if(j==1){
			moveTiles(Direction.LEFT);
			solution.add(Direction.RIGHT);
			}if(j==2){
			moveTiles(Direction.RIGHT);
			solution.add(Direction.LEFT);
			}if(j==3){
			moveTiles(Direction.DOWN);
			solution.add(Direction.UP);
			}
			if(!haveIWonYet()){
				if(i>this.difficulty){
					break;
				}
			}
		}
		System.out.println(solution.toString());
	}