-
Notifications
You must be signed in to change notification settings - Fork 71
/
PlayLevel.java
39 lines (35 loc) · 1.99 KB
/
PlayLevel.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import engine.core.MarioGame;
import engine.core.MarioResult;
public class PlayLevel {
public static void printResults(MarioResult result) {
System.out.println("****************************************************************");
System.out.println("Game Status: " + result.getGameStatus().toString() +
" Percentage Completion: " + result.getCompletionPercentage());
System.out.println("Lives: " + result.getCurrentLives() + " Coins: " + result.getCurrentCoins() +
" Remaining Time: " + (int) Math.ceil(result.getRemainingTime() / 1000f));
System.out.println("Mario State: " + result.getMarioMode() +
" (Mushrooms: " + result.getNumCollectedMushrooms() + " Fire Flowers: " + result.getNumCollectedFireflower() + ")");
System.out.println("Total Kills: " + result.getKillsTotal() + " (Stomps: " + result.getKillsByStomp() +
" Fireballs: " + result.getKillsByFire() + " Shells: " + result.getKillsByShell() +
" Falls: " + result.getKillsByFall() + ")");
System.out.println("Bricks: " + result.getNumDestroyedBricks() + " Jumps: " + result.getNumJumps() +
" Max X Jump: " + result.getMaxXJump() + " Max Air Time: " + result.getMaxJumpAirTime());
System.out.println("****************************************************************");
}
public static String getLevel(String filepath) {
String content = "";
try {
content = new String(Files.readAllBytes(Paths.get(filepath)));
} catch (IOException e) {
}
return content;
}
public static void main(String[] args) {
MarioGame game = new MarioGame();
// printResults(game.playGame(getLevel("../levels/original/lvl-1.txt"), 200, 0));
printResults(game.runGame(new agents.robinBaumgarten.Agent(), getLevel("./levels/original/lvl-1.txt"), 20, 0, true));
}
}