public void rotate()
	{
		// Create temp copy of block
		int[][] temp = new int[BLOCK_SIZE][BLOCK_SIZE];
		for(int i = 0; i < BLOCK_SIZE; i++)
			for(int j = 0; j < BLOCK_SIZE; j++)
				temp[i][j] = block[i][j];
		
		// Rotate block
		/*block[0][0] = temp[3][0];
		block[0][1] = temp[2][0];
		block[0][2] = temp[1][0];
		block[0][3] = temp[0][0];
		block[1][0] = temp[3][1];
		block[1][1] = temp[2][1];
		block[1][2] = temp[1][1];
		block[1][3] = temp[0][1];
		block[2][0] = temp[3][2];
		block[2][1] = temp[2][2];
		block[2][2] = temp[1][2];
		block[2][3] = temp[0][2];
		block[3][0] = temp[3][3];
		block[3][1] = temp[2][3];
		block[3][2] = temp[1][3];
		block[3][3] = temp[0][3]; */
		
		int counter;
		
		// Copy temp to block, indexes mapped to rotate block
		// See above comment to view intended mapping
		for (int i = 0; i < BLOCK_SIZE; i++)
		{
			counter = 3;
			for (int j = 0; j < BLOCK_SIZE; j++)
			{
				block[i][j] = temp[counter][i];
				counter--;
			}
		}
		
		// Garbage collect temp array; does this actually work?
		temp = null;
							
	}