protected TiledWorld() {
			super("tiled world");

			// Populate our tiles
			tiles = new Tile[tileWeights[0].length][tileWeights.length];

			for (int y = 0; y < tileWeights.length; y++) {
				for (int x = 0; x < tileWeights[0].length; x++) {
					/**
					 * NOTE :: Try to choose tile weights which don't actually
					 * match the char's integer value.. I'm aware that you
					 * wouldn't use a 2d array of ints, it's just for
					 * demonstration
					 */
					switch (tileWeights[y][x]) {
						case P:
							startX = x;
							startY = y;
							tiles[x][y] = new Tile(true, 0, Color.white, tileWidth, tileHeight);
							break;
						case X:
							endX = x;
							endY = y;
							tiles[x][y] = new Tile(true, 0, Color.white, tileWidth, tileHeight);
							break;
						case B:
							tiles[x][y] = new Tile(false, 0, Color.black, tileWidth, tileHeight);
							break;
						default:
							tiles[x][y] = new Tile(true, tileWeights[y][x], Color.white, tileWidth, tileHeight);
					}
				}
			}
		}