public MapReader(String mapName, int mapSize, InternalDisplay output) {
		this.mapChars = new char[mapSize][19][19];
		this.playerInitialX = new int[mapSize];
		this.playerInitialY = new int[mapSize];
		this.androidInitialX = new int[mapSize];
		this.androidInitialY = new int[mapSize];
		this.output = output;
		
		for (int i=0; i<mapSize; i++) {
			try {
				InputStream file = this.getClass().getResourceAsStream("/resources/text/"+mapName+"s/"+mapName+i+".txt");
				BufferedReader mapTextFile = new BufferedReader(new InputStreamReader(file));
				
				for (int j=0; j<19; j++) {
					
					char[] line = mapTextFile.readLine().toCharArray();
					
					for (int k=0; k<19; k++) {
						this.mapChars[i][j][k] = line[k];
						if (line[k]=='^') {
							playerInitialX[i] = (k-1)/2;
							playerInitialY[i] = (j-1)/2;
						} else if (line[k]=='A') {
							androidInitialX[i] = (k-1)/2;
							androidInitialY[i] = (j-1)/2;
						}
					}
				}
				
				mapTextFile.close();
			} catch (Exception e) {
				System.out.println("Unable to load "+mapName+" file "+i+". Generating blank map instead.");
				for (int j=0; j<19; j++) {
					for (int k=0; k<19; k++) {
						this.mapChars[i][j][k] = ' ';
					}
				}
			}
		}
	}