/** * Load game. * * <p>static, meant to provide an easy way to get a GameBoard object without needing to deal with * instanciation of saves. * * <p>requires that the player already be placed on the GameplayElement's GameBoard * * @param game the GameplayElement into which the game will be loaded * @param saveLocation the save location * @param targetFloor the target floor * @return the game board */ public static void enterNewMap(GameplayElement game, String saveLocation, String targetFloor) throws SlickException { try { BufferedReader r; r = new BufferedReader(new FileReader(saveLocation + "/" + targetFloor)); GameBoard b = loadBoard(game, saveLocation, targetFloor, r); game.setBoard(b); loadEntities(b, r); setPlayerPosition(game.player, b, game.lastMap); } catch (FileNotFoundException e) { throw new SlickException("f**k", e); } game.resetCamera(); }
/** * Loads the game. self explanatory. loads player from player file loads board, entities from * current map file (loadBoard and LoadEntities are passed the same BufferedReader, because the * required data is stored on different lines of the same file)' * * <p>for initial startup * * @param state the GameplayElement into which the game will be loaded * @throws IOException Signals that an I/O exception has occurred. * @throws SlickException the slick exception * @throws ClassNotFoundException the class not found exception * @throws InstantiationException the instantiation exception * @throws IllegalAccessException the illegal access exception */ public void loadGame(GameplayElement state, GameContainer c) throws SlickException { try { BufferedReader r = new BufferedReader(new FileReader(saveLocation + "/" + currentMap)); GameBoard g = loadBoard(state, saveLocation, currentMap, r); BufferedReader playerReader = new BufferedReader(new FileReader(saveLocation + "/player.txt")); Player play = loadPlayerStatus(playerReader, c, g, loadPlayerProfession(playerReader)); setPlayerPosition(play, g, state.lastMap); state.setPlayer(play); state.saveLocation = this.saveLocation; loadEntities(g, r); state.setBoard(g); } catch (FileNotFoundException e) { throw new SlickException("f**k", e); } catch (IOException e) { throw new SlickException("f**k", e); } }