public void setNumOfTiles(final int numOfTiles) {
		this.numOfTiles = numOfTiles;
		this.dimension = (int) Math.sqrt(numOfTiles);
		this.imageArray = new Image[numOfTiles];
		final String file = "images/" + (numOfTiles - 1) + "-puzzle/shrksign_";
		this.imageArray[0] = null;
		for (int i = 1; i < numOfTiles; ++i) {
			final StringBuilder builder = new StringBuilder(file);
			if (i <= 9) {
				builder.append("0");
			}
			builder.append(Integer.toString(i));
			builder.append(".gif");
			this.imageArray[i] = ImagePanel.getImage(builder.toString());
		}
		this.imageWidth = this.imageArray[1].getWidth(null);
		this.imageHeight = this.imageArray[1].getHeight(null);
		this.panelWidth = this.imageWidth * this.dimension;
		this.panelHeight = this.imageHeight * this.dimension;
		this.state = new byte[numOfTiles];
		this.sleepMs = 500 / this.imageWidth;
		this.animationDone = true;
		resetOrder();
	}