Refactoring to allow MyNewLevelGenerator to determine the level type, difficulty and music based on the player metrics.

Work in progress.
This commit is contained in:
Woody Folsom
2012-03-17 10:26:33 -04:00
parent 47520126ff
commit a827ca7430
9 changed files with 141 additions and 63 deletions

View File

@@ -31,7 +31,7 @@ public class LevelSceneCustom extends LevelScene {
public LevelSceneCustom(GraphicsConfiguration graphicsConfiguration,
MarioComponent renderer, long seed, int levelDifficulty, int type,
boolean isCustom, LevelGenerator levelGenerator) {
super(graphicsConfiguration, renderer, seed, levelDifficulty, type);
super(graphicsConfiguration, renderer, seed/*, levelDifficulty, type*/);
this.isCustom = isCustom;
this.clg = levelGenerator;
}
@@ -46,21 +46,26 @@ public class LevelSceneCustom extends LevelScene {
}
GamePlay gp = GamePlay.read("player.txt");
currentLevel = (Level) clg.generateLevel(gp);
String detailedInfo = FileHandler.readFile("DetailedInfo.txt");
File xmlInfoFile = new File("DetailedInfo.xml");
DataRecorder dataRecorder;
if (xmlInfoFile.exists()) {
try {
DataRecorder dataRecorder = DataRecorder.fromXML(xmlInfoFile);
System.out.println("DetailedInfo (from xml file): " + detailedInfo);
dataRecorder = DataRecorder.fromXML(xmlInfoFile);
} catch (IOException ioe) {
ioe.printStackTrace();
System.out.println("Reading from DataRecorder failed due to: ");
ioe.printStackTrace(System.out);
System.out.println("Initializing blank record");
dataRecorder = DataRecorder.BLANK_RECORD;
}
} else {
System.out.println("DetailedInfo (from txt file): " + detailedInfo);
dataRecorder = DataRecorder.BLANK_RECORD;;
String detailedInfo = FileHandler.readFile("DetailedInfo.txt");
System.out.println("Read detailedInfo from DetailedInfo.txt (not parsed): ");
System.out.println(detailedInfo);
}
int levelType = clg.generateLevelType(gp,dataRecorder);
currentLevel = (Level) clg.generateLevel(gp,dataRecorder);
try {
level = currentLevel.clone();
@@ -68,9 +73,7 @@ public class LevelSceneCustom extends LevelScene {
e.printStackTrace();
}
// TODO change this
// level is always overground
Art.startMusic(2);
Art.startMusic(levelType);
paused = false;
Sprite.spriteContext = this;