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 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);
|
||||||
|
|||||||
Reference in New Issue
Block a user