1
0

LS03-04-2: Highscoreberechnung

This commit is contained in:
2021-06-15 21:12:51 +02:00
parent 47d54416c7
commit 7b4d78c1e0
2 changed files with 9 additions and 10 deletions
@@ -34,13 +34,13 @@ public class AttemptController {
} }
/** /**
* calculates points from attempt for highscore TODO create formula here * calculates points from attempt for highscore
* *
* @param level Levelobjekt * @param level Levelobjekt
* @param hitcounter Controllerobjekt das die Treffer und Reaktionszeiten misst * @param hitcounter Controllerobjekt das die Treffer und Reaktionszeiten misst
* @return points * @return points
*/ */
public int calculatePoints(Level level, HitCounter hitcounter) { public int calculatePoints(Level level, HitCounter hitcounter) {
return -1; return (int) ((hitcounter.getHit()/level.getTargets().size())* 400L +(hitcounter.getHit()/hitcounter.getShots())* 200L +(1000-(hitcounter.getReactionTime()/hitcounter.getSumReactionDiffernce())*400));
} }
} }
@@ -7,6 +7,8 @@ import de.oszimt.ls.aliendefence.model.Level;
import de.oszimt.ls.aliendefence.model.Point; import de.oszimt.ls.aliendefence.model.Point;
import de.oszimt.ls.aliendefence.model.Target; import de.oszimt.ls.aliendefence.model.Target;
import de.oszimt.ls.aliendefence.model.User; import de.oszimt.ls.aliendefence.model.User;
import de.oszimt.ls.aliendefence.model.persistence.IAttemptPersistance;
import de.oszimt.ls.aliendefence.model.persistenceDB.AttemptDB;
import de.oszimt.ls.aliendefence.view.menue.Highscore; import de.oszimt.ls.aliendefence.view.menue.Highscore;
public class GameController { public class GameController {
@@ -47,18 +49,15 @@ public class GameController {
setHighscore = false; //damit keine doppelten Eintrüge erzeugt werden setHighscore = false; //damit keine doppelten Eintrüge erzeugt werden
// TODO Highscoreeintrag erzeugen Highscore >> F_user_id, F_level_id, shots,
// hits, reaction_time
System.out.println("Highscoreeintrag für " + currentLevel.getName() + ": " + currentUser.getFirst_name() System.out.println("Highscoreeintrag für " + currentLevel.getName() + ": " + currentUser.getFirst_name()
+ " hat " + this.getShotsFired() + " mal auf " + this.getTargets().size() + " hat " + this.getShotsFired() + " mal auf " + this.getTargets().size()
+ " Ziele gefeuert und " + this.getHits() + " mal getroffen."); + " Ziele gefeuert und " + this.getHits() + " mal getroffen.");
System.out.println("Highscorepunkte: " + alienDefenceController.getAttemptController().calculatePoints(this.currentLevel, this.hitCounter)); System.out.println("Highscorepunkte: " + alienDefenceController.getAttemptController().calculatePoints(this.currentLevel, this.hitCounter));
int insert_id = 0; //int insert_id = 0;
// AttemptDB attemptDB =
// this.alienDefenceController.getAlienDefenceModel().getAttemptPersistance(); IAttemptPersistance attemptDB = this.alienDefenceController.getAlienDefenceModel().getAttemptPersistance();
// int insert_id = attemptDB.createHighscoreEntry(currentUser.getP_user_id(), int insert_id = attemptDB.createHighscoreEntry(currentUser.getP_user_id(), currentLevel.getLevel_id(),
// currentLevel.getLevel_id(), this.getShotsFired(), this.getHits(), this.hitCounter.getReactionTime());
// this.getShotsFired(), this.getHits(), relReactionDiffernce);
new Highscore(this.alienDefenceController.getAttemptController(), currentLevel, new Highscore(this.alienDefenceController.getAttemptController(), currentLevel,
insert_id); insert_id);