private void spawnRandom() {
		Random random = new Random();
		boolean notValid = true;
		this.yellowCount = target.yellowCount;
		this.whiteCount = target.whiteCount;
		this.redCount = target.redCount;
		this.blueCount = target.blueCount;
		this.orangeCount = target.orangeCount;
		this.greenCount = target.greenCount;
		int location = random.nextInt(ROWS * COLS);
		int row1 = location / ROWS;
		int col1 = location % COLS;
		while(true){
			location = random.nextInt(ROWS * COLS);
			row1 = location / ROWS;
			col1 = location % COLS;
			if (row1 > 0 && row1 < 4 && col1 > 0 && col1 < 4) {
				continue;
			}else{
				break;
			}
		}
		for (int row = 0; row < 5; row++) {
			for (int col = 0; col < 5; col++) {
				Tile current = board[row][col];
				
				if (row > 0 && row < 4 && col > 0 && col < 4) {
					
					continue;
				}
				else if(row==row1&&col==col1){
					
				}
				else {
					RubiksColors which = null;
					for(long i=0;i<90;i++){
						int value = random.nextInt(6);
						if (value == 0) {
							if (yellowCount < 4) {
								which = RubiksColors.yellow;
								yellowCount++;
								break;
							}
						} else if (value == 1) {
							if (whiteCount < 4) {
								which = RubiksColors.white;
								whiteCount++;
								break;
							}
						} else if (value == 2) {
							if (redCount < 4) {
								which = RubiksColors.red;
								redCount++;
								break;
							}
						} else if (value == 3) {
							if (blueCount < 4) {
								which = RubiksColors.blue;
								blueCount++;
								break;
							}
						} else if (value == 4) {
							if (orangeCount < 4) {
								which = RubiksColors.orange;
								orangeCount++;
								break;
							}
						} else if (value == 5) {
							if (greenCount < 4) {
								which = RubiksColors.green;
								greenCount++;
								break;
							}
						}
					}
					Tile tile = new Tile(which, getTileX(col), getTileY(row));
					board[row][col] = tile;
					notValid = false;
				}
			}
		}
	}