import java.io.*; import java.util.*; public class LevelLoader { static int enemyWidth[] = {0, 31, 20, 20, 20, 20, 20, 29, 29, 20, 20}; static int enemyHeight[] = {0, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20}; public static void load( int tileSize, ArrayList collidables, ArrayList collectables, ArrayList enemies, Flag flag, Player player, int level) throws IOException { collidables.clear(); collectables.clear(); enemies.clear(); /* left wall */ collidables.add(new Brick(-20, 0, 20, 2000)); BufferedReader br = new BufferedReader(new FileReader("Levels/level" + level + ".txt")); String line; int row = 0; while ((line = br.readLine()) != null) { for (int col = 0; col < line.length(); col++) { char c = line.charAt(col); int x = col * tileSize; int y = row * tileSize; switch (c) { case 'B': collidables.add(new Brick(x, y, tileSize, tileSize)); break; case 'Q': collidables.add(new PowerBrick(x, y, tileSize, tileSize, 1)); break; case 'A': collectables.add(new Amendment(x, y, tileSize, tileSize)); break; case 'F': flag.setPosition(x, y, tileSize, tileSize); break; case 'P': player.x = x; player.y = y; player.rect.x = x; player.rect.y = y; break; case 'E': enemies.add(new Enemy(x, y, enemyWidth[level], enemyHeight[level], level)); break; case 'X': collidables.add(new InvisibleTile(x, y, tileSize, tileSize)); break; } } row++; } br.close(); } }