From 1df1ff6f074528a4ad6d4015c794a1555c1c942f Mon Sep 17 00:00:00 2001 From: Maksymilian Jopek Date: Mon, 3 Apr 2023 22:12:41 +0200 Subject: Polishing up Add all files to repo Add sql database Correct urls Add PHP code to repo Update README.md with instructions how to start Move from yarn to pnpm Fix all issues with starting Fix possibility of player changing their dice roll with refreshing the game --- frontend/ts/login.ts | 8 ++++---- frontend/ts/startGame.ts | 19 +++++++++++-------- frontend/ts/timer.ts | 4 ++-- 3 files changed, 17 insertions(+), 14 deletions(-) (limited to 'frontend') diff --git a/frontend/ts/login.ts b/frontend/ts/login.ts index 658110d..e5dcb00 100644 --- a/frontend/ts/login.ts +++ b/frontend/ts/login.ts @@ -12,7 +12,7 @@ class Login { static clicked = false; static async start() { - let res = await (await fetch("/fia/startPoint")).json(); + let res = await (await fetch("startPoint")).json(); if (res.status === true) { new StartGame({ data: res.data.data, uid: res.uid }); } else { @@ -32,11 +32,11 @@ class Login { alert("Ditt namn är för långt!"); return; } - + Login.clicked = true; - let res = await Helpers.mFetch("/fia/login", { name: username }); + let res = await Helpers.mFetch("login", { name: username }); new StartGame(res); } } -Login.start(); \ No newline at end of file +Login.start(); diff --git a/frontend/ts/startGame.ts b/frontend/ts/startGame.ts index 7da81d4..4f83567 100644 --- a/frontend/ts/startGame.ts +++ b/frontend/ts/startGame.ts @@ -40,7 +40,7 @@ export default class StartGame { } async init(data: { data: Data, uid: string }) { - document.body.innerHTML = await (await fetch("/fia/map.html")).text(); + document.body.innerHTML = await (await fetch("map.html")).text(); if (speechSynthesis.onvoiceschanged !== undefined) speechSynthesis.onvoiceschanged = () => this.voices = speechSynthesis.getVoices(); @@ -99,7 +99,7 @@ export default class StartGame { return; } this.toggleStop = true; - let res = await Helpers.mFetch("/fia/readyStateToggle", { + let res = await Helpers.mFetch("readyStateToggle", { state: this.inpStateToggle.checked }); if (res.started === true) @@ -117,7 +117,9 @@ export default class StartGame { } rollDice = async (e: MouseEvent): Promise => { this.btnRollDice.style.display = "none"; - let number = Helpers.getRandomInt(1, 7); + const oldNumber = localStorage.getItem("number"); + let number = oldNumber ? parseInt(oldNumber) : Helpers.getRandomInt(1, 7); + localStorage.setItem("number", number.toString()); this.say(number.toString()); this.diceHash; @@ -212,8 +214,8 @@ export default class StartGame { this.btnRollDice.style.display = "none"; this.timer.stop(); await this.sendGameBoard(false); - await Helpers.mFetch("/fia/won", { index: this.index }); - await Helpers.mFetch("/fia/reset", {}); + await Helpers.mFetch("won", { index: this.index }); + await Helpers.mFetch("reset", {}); alert("Du vann spelet !!!"); return; } @@ -242,7 +244,8 @@ export default class StartGame { this.timer.stop(); this.gameWasStopped = true; this.hideDice(diceWait); - await Helpers.mFetch("/fia/saveGameBoard", { gameBoard: this.gameBoard }); + localStorage.removeItem("number"); + await Helpers.mFetch("saveGameBoard", { gameBoard: this.gameBoard }); } drawChequer = (coords: Coordinates, color: tColors, chequer: Chequer | HoBSquare): void => { @@ -271,7 +274,7 @@ export default class StartGame { async getData() { let data: { gameBoard: GameBoard, currentPlayer: number, started: number, data: Data, timeTillTurnEnd: number, winner: null | number } - = await Helpers.mFetch("/fia/getCurrentGameState", {}); + = await Helpers.mFetch("getCurrentGameState", {}); console.log("Data fetched"); if (data.started === 1 && data.winner !== null) { @@ -281,7 +284,7 @@ export default class StartGame { let winnerName = this.data.filter(el => el.index === data.winner)[0].name; gameBoardClass.drawGameBoard(data.gameBoard, this.drawChequer); alert(`Spelaren ${winnerName} vann spelet!!!`); - await Helpers.mFetch("/fia/reset", {}); + await Helpers.mFetch("reset", {}); return; } diff --git a/frontend/ts/timer.ts b/frontend/ts/timer.ts index 013d498..ca51275 100644 --- a/frontend/ts/timer.ts +++ b/frontend/ts/timer.ts @@ -25,10 +25,10 @@ export default class Timer { this.divTimer.innerHTML = secondsElapsed.toString(); } } - + stop(): void { this.divTimer.innerHTML = ''; clearInterval(this.interval); this.interval = undefined; } -} \ No newline at end of file +} -- cgit v1.3.1