added reset button, various bug fixes
This commit is contained in:
52
game/game.js
52
game/game.js
@ -2,56 +2,68 @@ const parts = window.location.pathname.split("/").filter(Boolean);
|
||||
const sessionId = parts[0] ?? null;
|
||||
const username = parts[1] ?? null;
|
||||
|
||||
async function getState() {
|
||||
const res = await fetch(`/api/${sessionId}/${username}/state`);
|
||||
const state = await res.json();
|
||||
}
|
||||
|
||||
show_user()
|
||||
async function show_user() {
|
||||
const res = await fetch(`/api/user/${sessionId}`);
|
||||
const users = await res.json();
|
||||
const allUsers = users.map((u) => u.state);
|
||||
if (allUsers.every((v) => v === 0)) {
|
||||
createImposter();
|
||||
async function createImposter() {
|
||||
const res = await fetch(`/api/${sessionId}/${username}/createImposter`);
|
||||
var imposterStatus = getImposter(); //var für globale variable, muss in dieser funktion sein wegen komischer race condition bug
|
||||
}
|
||||
}else {
|
||||
var imposterStatus = getImposter(); //var für globale variable, muss in dieser funktion sein wegen komischer race condition bug
|
||||
}
|
||||
}
|
||||
|
||||
const imposterStatus = getImposter();
|
||||
//const imposterStatus = getImposter();
|
||||
|
||||
async function getImposter() {
|
||||
const res = await fetch(`/api/${sessionId}/${username}/getImposter`);
|
||||
const stateObj = await res.json();
|
||||
state = stateObj.state;
|
||||
const ImposterStateDiv = document.getElementById('imposterState');
|
||||
|
||||
console.log("state=" + state)
|
||||
const ImposterStateDiv = document.getElementById("imposterState");
|
||||
|
||||
if (state == 1) {
|
||||
console.log("du bist imposter");
|
||||
ImposterStateDiv.textContent = 'Du bist der Imposter!'
|
||||
return true
|
||||
ImposterStateDiv.textContent = "Du bist der Imposter!";
|
||||
return true;
|
||||
} else {
|
||||
console.log("du bist kein imposter");
|
||||
ImposterStateDiv.textContent = 'Du bist kein Imposter!'
|
||||
return false
|
||||
ImposterStateDiv.textContent = "Du bist kein Imposter!";
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
getWords(imposterStatus)
|
||||
// Initialisierung: await getImposter(), dann getWords aufrufen
|
||||
async function init() {
|
||||
const imposterStatus = await getImposter();
|
||||
await getWords(imposterStatus);
|
||||
}
|
||||
init();
|
||||
|
||||
async function getWords(imposterStatus) {
|
||||
const res = await fetch(`/api/getWords`);
|
||||
const words = await res.json();
|
||||
console.log(words);
|
||||
const WordDiv = document.getElementById('word');
|
||||
if (res.status == 201){
|
||||
const WordDiv = document.getElementById("word");
|
||||
if (res.status == 201) {
|
||||
getWords();
|
||||
} else if (imposterStatus) {
|
||||
console.log(words.imposterWord)
|
||||
console.log(words.imposterWord);
|
||||
WordDiv.textContent = "dein tip:" + words.imposterWord;
|
||||
}else if (!imposterStatus){
|
||||
console.log(words.word)
|
||||
} else if (!imposterStatus) {
|
||||
console.log(words.word);
|
||||
WordDiv.textContent = "dein wort:" + words.word;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
async function reset() {
|
||||
const res = await fetch(`/api/reset/${sessionId}`);
|
||||
if (res.status == 201) {
|
||||
window.location.href = window.location.href = `/${sessionId}/${username}`;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user