5
0
mirror of https://github.com/AJMicke/KickerELO.git synced 2026-03-11 13:31:02 +01:00

Add 2 vs 2 ELO

This commit is contained in:
Anton Micke
2025-02-07 14:59:11 +01:00
parent fb4b357970
commit 9f6589d8d2
4 changed files with 29 additions and 17 deletions

View File

@@ -13,8 +13,11 @@ public class Spieler {
@Column(name = "NAME", nullable = false, unique = true) @Column(name = "NAME", nullable = false, unique = true)
private String name; private String name;
@Column(name = "ELO", nullable = false) @Column(name = "ELO1vs1", nullable = false)
private float elo; private float elo1vs1;
@Column(name = "ELO2vs2", nullable = false)
private float elo2vs2;
@Column(name = "ELO_ALT") @Column(name = "ELO_ALT")
private float elo_alt; private float elo_alt;
@@ -38,12 +41,20 @@ public class Spieler {
this.name = name; this.name = name;
} }
public float getElo() { public float getElo1vs1() {
return elo; return elo1vs1;
} }
public void setElo(float elo) { public void setElo1vs1(float elo) {
this.elo = elo; this.elo1vs1 = elo;
}
public float getElo2vs2() {
return elo2vs2;
}
public void setElo2vs2(float elo2vs2) {
this.elo2vs2 = elo2vs2;
} }
public float getElo_alt() { public float getElo_alt() {

View File

@@ -30,7 +30,8 @@ CREATE TABLE spieler
( (
id INT NOT NULL, id INT NOT NULL,
name VARCHAR(255) NOT NULL, name VARCHAR(255) NOT NULL,
elo FLOAT NOT NULL, elo1vs1 FLOAT NOT NULL,
elo2vs2 FLOAT NOT NULL,
elo_alt FLOAT NULL, elo_alt FLOAT NULL,
CONSTRAINT pk_spieler PRIMARY KEY (id) CONSTRAINT pk_spieler PRIMARY KEY (id)
); );

View File

@@ -57,11 +57,11 @@ public class KickerEloService {
ergebnis1vs1Repository.save(ergebnis); ergebnis1vs1Repository.save(ergebnis);
ResultInfo1vs1 result = new ResultInfo1vs1(gewinner.getElo(), ergebnis.getToreVerlierer(), verlierer.getElo()); ResultInfo1vs1 result = new ResultInfo1vs1(gewinner.getElo1vs1(), ergebnis.getToreVerlierer(), verlierer.getElo1vs1());
eloCalculationService.updateElo1vs1(result); eloCalculationService.updateElo1vs1(result);
gewinner.setElo(result.getNewEloWinner()); gewinner.setElo1vs1(result.getNewEloWinner());
spielerRepository.save(gewinner); spielerRepository.save(gewinner);
verlierer.setElo(result.getNewEloLoser()); verlierer.setElo1vs1(result.getNewEloLoser());
spielerRepository.save(verlierer); spielerRepository.save(verlierer);
} }
@@ -100,22 +100,22 @@ public class KickerEloService {
ergebnis2vs2Repository.save(ergebnis); ergebnis2vs2Repository.save(ergebnis);
ResultInfo2vs2 result = new ResultInfo2vs2(gewinnerVorn.getElo(), gewinnerHinten.getElo(), verliererVorn.getElo(), verliererHinten.getElo(), toreVerlierer); ResultInfo2vs2 result = new ResultInfo2vs2(gewinnerVorn.getElo2vs2(), gewinnerHinten.getElo2vs2(), verliererVorn.getElo2vs2(), verliererHinten.getElo2vs2(), toreVerlierer);
eloCalculationService.updateElo2vs2(result); eloCalculationService.updateElo2vs2(result);
gewinnerVorn.setElo(result.getNewEloWinnerFront()); gewinnerVorn.setElo2vs2(result.getNewEloWinnerFront());
spielerRepository.save(gewinnerVorn); spielerRepository.save(gewinnerVorn);
gewinnerHinten.setElo(result.getNewEloWinnerBack()); gewinnerHinten.setElo2vs2(result.getNewEloWinnerBack());
spielerRepository.save(gewinnerHinten); spielerRepository.save(gewinnerHinten);
verliererVorn.setElo(result.getNewEloLoserFront()); verliererVorn.setElo2vs2(result.getNewEloLoserFront());
spielerRepository.save(verliererVorn); spielerRepository.save(verliererVorn);
verliererHinten.setElo(result.getNewEloLoserBack()); verliererHinten.setElo2vs2(result.getNewEloLoserBack());
spielerRepository.save(verliererHinten); spielerRepository.save(verliererHinten);
} }
public void addSpieler(String name) { public void addSpieler(String name) {
Spieler spieler = new Spieler(); Spieler spieler = new Spieler();
spieler.setName(name); spieler.setName(name);
spieler.setElo(1500); spieler.setElo1vs1(1500);
spielerRepository.save(spieler); spielerRepository.save(spieler);
} }
} }

View File

@@ -7,6 +7,6 @@ import java.util.Comparator;
public class SpielerEloComparator implements Comparator<Spieler> { public class SpielerEloComparator implements Comparator<Spieler> {
@Override @Override
public int compare(Spieler o1, Spieler o2) { public int compare(Spieler o1, Spieler o2) {
return Float.compare(o1.getElo(), o2.getElo()); return Float.compare(o1.getElo1vs1(), o2.getElo1vs1());
} }
} }