LS03-04-2: Highscoreberechnung
This commit is contained in:
@@ -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 hitcounter Controllerobjekt das die Treffer und Reaktionszeiten misst
|
||||
* @return points
|
||||
*/
|
||||
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.Target;
|
||||
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;
|
||||
|
||||
public class GameController {
|
||||
@@ -47,18 +49,15 @@ public class GameController {
|
||||
|
||||
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()
|
||||
+ " hat " + this.getShotsFired() + " mal auf " + this.getTargets().size()
|
||||
+ " Ziele gefeuert und " + this.getHits() + " mal getroffen.");
|
||||
System.out.println("Highscorepunkte: " + alienDefenceController.getAttemptController().calculatePoints(this.currentLevel, this.hitCounter));
|
||||
int insert_id = 0;
|
||||
// AttemptDB attemptDB =
|
||||
// this.alienDefenceController.getAlienDefenceModel().getAttemptPersistance();
|
||||
// int insert_id = attemptDB.createHighscoreEntry(currentUser.getP_user_id(),
|
||||
// currentLevel.getLevel_id(),
|
||||
// this.getShotsFired(), this.getHits(), relReactionDiffernce);
|
||||
//int insert_id = 0;
|
||||
|
||||
IAttemptPersistance attemptDB = this.alienDefenceController.getAlienDefenceModel().getAttemptPersistance();
|
||||
int insert_id = attemptDB.createHighscoreEntry(currentUser.getP_user_id(), currentLevel.getLevel_id(),
|
||||
this.getShotsFired(), this.getHits(), this.hitCounter.getReactionTime());
|
||||
|
||||
new Highscore(this.alienDefenceController.getAttemptController(), currentLevel,
|
||||
insert_id);
|
||||
|
||||
Reference in New Issue
Block a user