|
@@ -2,6 +2,7 @@ package pathgame.rendering;
|
|
|
|
|
|
import me.hammerle.snuviengine.api.Renderer;
|
|
|
import pathgame.gameplay.Level;
|
|
|
+import pathgame.gameplay.Player;
|
|
|
|
|
|
/**
|
|
|
* A container for holding everything about the renderer for the score menu
|
|
@@ -34,42 +35,19 @@ public class ScoreMenuRenderer
|
|
|
r.translateTo(0.0f, 0.0f);
|
|
|
float scale = scale(r, 1);
|
|
|
|
|
|
+ Player p = level.getPlayer();
|
|
|
String message = String.format("&2%d&f of &2%d&f Energy used",
|
|
|
- level.getPlayer().getEnergyUsed(), level.getPlayer().getEnergySupply());
|
|
|
+ p.getEnergyUsed(), p.getEnergySupply());
|
|
|
|
|
|
r.getFontRenderer().drawString((windowWidth * scale - getWidth(r, message)) / 2, (windowHeight * scale - getHeight(r, message)) / 2 - windowHeight * scale * 0.5f * 0.15f, message);
|
|
|
|
|
|
- if((float) level.getPlayer().getEnergyUsed() / level.getPlayer().getEnergySupply() < 0.5f)
|
|
|
- {
|
|
|
- message = "You were better than the algorithm!";
|
|
|
- }
|
|
|
- else if((float) level.getPlayer().getEnergyUsed() / level.getPlayer().getEnergySupply() < 0.6f)
|
|
|
- {
|
|
|
- message = "Only 20% more energy use than the algorithm!";
|
|
|
- }
|
|
|
- else if((float) level.getPlayer().getEnergyUsed() / level.getPlayer().getEnergySupply() < 0.75f)
|
|
|
- {
|
|
|
- message = "Only 50% more energy use than the algorithm!";
|
|
|
- }
|
|
|
- else if((float) level.getPlayer().getEnergyUsed() / level.getPlayer().getEnergySupply() < 1)
|
|
|
- {
|
|
|
- message = "Only twice the energy use of the algorithm!";
|
|
|
- }
|
|
|
- else if((float) level.getPlayer().getEnergyUsed() / level.getPlayer().getEnergySupply() == 1)
|
|
|
- {
|
|
|
- message = "As good as the algorithm!";
|
|
|
- }
|
|
|
- else if((float) level.getPlayer().getEnergyUsed() / level.getPlayer().getEnergySupply() > 1)
|
|
|
- {
|
|
|
- message = "More than twice the energy use of the algorithm!";
|
|
|
- }
|
|
|
+ message = getMessage(p.getEnergyUsed(), level.getAlgorithmValue(), p.getEnergySupply());
|
|
|
|
|
|
r.getFontRenderer().drawString((windowWidth * scale - getWidth(r, message)) / 2, (windowHeight * scale - getHeight(r, message)) / 2 - windowHeight * scale * 0.5f * (-0.15f), message);
|
|
|
|
|
|
scale = scale(r, 2);
|
|
|
- if((float) level.getPlayer().getEnergyUsed() / level.getPlayer().getEnergySupply() <= 1)
|
|
|
+ if(p.getEnergyUsed() <= p.getEnergySupply())
|
|
|
{
|
|
|
-
|
|
|
message = "Congratulations!";
|
|
|
}
|
|
|
else
|
|
@@ -99,4 +77,33 @@ public class ScoreMenuRenderer
|
|
|
r.updateMatrix();
|
|
|
return 1.0f / scale;
|
|
|
}
|
|
|
+
|
|
|
+ private String getMessage(int playerEnergy, int algorithmEnergy, int maxEnergy)
|
|
|
+ {
|
|
|
+ if(playerEnergy == algorithmEnergy)
|
|
|
+ {
|
|
|
+ return "As good as the algorithm!";
|
|
|
+ }
|
|
|
+ float energyPercent = ((float) playerEnergy / maxEnergy) * Level.ALGORITHM_4;
|
|
|
+ if(energyPercent < Level.ALGORITHM_1)
|
|
|
+ {
|
|
|
+ return "Better than the algorithm!";
|
|
|
+ }
|
|
|
+ else if(energyPercent < Level.ALGORITHM_2)
|
|
|
+ {
|
|
|
+ return "0-10% over the algorithm!";
|
|
|
+ }
|
|
|
+ else if(energyPercent < Level.ALGORITHM_3)
|
|
|
+ {
|
|
|
+ return "10-20% over the algorithm!";
|
|
|
+ }
|
|
|
+ else if(energyPercent < Level.ALGORITHM_4)
|
|
|
+ {
|
|
|
+ return "20-30% over the algorithm!";
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ return "30% over the algorithm!";
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|