fix: Schocken - Auswertung korrigiert (Augensumme, Scheiben vom Gewinner)
This commit is contained in:
@@ -74,8 +74,8 @@ function compareResults(a, b) {
|
|||||||
|
|
||||||
// Gleicher Typ — Detailvergleich
|
// Gleicher Typ — Detailvergleich
|
||||||
if (a.result.type === 'normal') {
|
if (a.result.type === 'normal') {
|
||||||
// Niedrigere Summe ist schlechter — aber beide haben immer 1 Scheibe, kein Unterschied im Typ
|
// Niedrigere Augensumme = schlechter
|
||||||
// Tatsächlich keine Hierarchie bei normalen Würfen außer Scheiben=1
|
if (a.result.value !== b.result.value) return a.result.value < b.result.value ? -1 : 1;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
if (a.result.type === 'strasse') {
|
if (a.result.type === 'strasse') {
|
||||||
@@ -345,14 +345,16 @@ router.post('/:id/evaluate', authenticate, (req, res) => {
|
|||||||
results.sort((a, b) => {
|
results.sort((a, b) => {
|
||||||
const cmp = compareResults(a, b);
|
const cmp = compareResults(a, b);
|
||||||
if (cmp !== 0) return cmp; // -1 wenn a schlechter
|
if (cmp !== 0) return cmp; // -1 wenn a schlechter
|
||||||
// Gleicher Typ: mehr Würfe = schlechter
|
// Gleicher Typ: mehr Würfe = schlechter (vorne in der Liste = Index 0 = Verlierer)
|
||||||
if (a.rolls !== b.rolls) return b.rolls - a.rolls; // mehr Würfe = schlechter (hinten)
|
if (a.rolls !== b.rolls) return a.rolls - b.rolls; // mehr Würfe = schlechter (vorne)
|
||||||
// Nachleger: später in Reihenfolge = schlechter
|
// Nachleger: später in Reihenfolge = schlechter (vorne)
|
||||||
return activePlayers.indexOf(b.player) - activePlayers.indexOf(a.player);
|
return activePlayers.indexOf(a.player) - activePlayers.indexOf(b.player);
|
||||||
});
|
});
|
||||||
|
|
||||||
const loser = results[0]; // schlechtestes Ergebnis
|
const loser = results[0]; // schlechtestes Ergebnis (Index 0 nach sort)
|
||||||
const scheiben = loser.result.scheiben;
|
const winner = results[results.length - 1]; // bestes Ergebnis
|
||||||
|
// Scheiben die verteilt werden = Wert des BESTEN Ergebnisses der Runde
|
||||||
|
const scheiben = winner.result.scheiben;
|
||||||
|
|
||||||
// Scheiben verteilen
|
// Scheiben verteilen
|
||||||
let fromStock = 0;
|
let fromStock = 0;
|
||||||
|
|||||||
Reference in New Issue
Block a user