Red Mode: 10 FSK-18-Karten (Rotlicht), Host-Schalter im Raum, rotes Design
Build & Deploy / deploy (push) Successful in 19s
Build & Deploy / deploy (push) Successful in 19s
This commit is contained in:
@@ -154,6 +154,7 @@ function oeffentlicherZustand(raum, token) {
|
||||
})),
|
||||
minSpieler: MIN_SPIELER,
|
||||
maxSpieler: MAX_SPIELER,
|
||||
redMode: !!raum.redMode,
|
||||
alleReady,
|
||||
rankingsFertig: Object.keys(raum.rankings).length,
|
||||
punkte: raum.punkte,
|
||||
@@ -211,6 +212,7 @@ const server = http.createServer(async (req, res) => {
|
||||
status: 'lobby',
|
||||
runde: 0,
|
||||
frage: '',
|
||||
redMode: !!body.redMode,
|
||||
spieler: [{ name, token: crypto.randomBytes(18).toString('hex'), ready: false, istHost: true }],
|
||||
rankings: {},
|
||||
punkte: { [name]: 0 },
|
||||
@@ -260,6 +262,15 @@ const server = http.createServer(async (req, res) => {
|
||||
return antwort(res, 200, { ok: true, zustand: oeffentlicherZustand(raum, token) });
|
||||
}
|
||||
|
||||
/* Red Mode umschalten (nur Host, nur vor Spielstart) */
|
||||
if (req.method === 'POST' && aktion === 'redmode') {
|
||||
if (raum.status !== 'lobby') return fehler(res, 409, 'Red Mode ist nur vor Spielstart aenderbar');
|
||||
if (!spieler.istHost) return fehler(res, 403, 'Nur der Host kann den Red Mode aendern');
|
||||
raum.redMode = !!body.redMode;
|
||||
speichern();
|
||||
return antwort(res, 200, { ok: true, zustand: oeffentlicherZustand(raum, token) });
|
||||
}
|
||||
|
||||
/* Frage stellen */
|
||||
if (req.method === 'POST' && aktion === 'question') {
|
||||
if (raum.status !== 'question') return fehler(res, 409, 'Keine Fragephase');
|
||||
|
||||
Reference in New Issue
Block a user