aboutsummaryrefslogtreecommitdiffstats
path: root/backend/ts/startGame.ts
diff options
context:
space:
mode:
authorMaks Jopek <maksymilian.jopek@prym-soft.pl>2021-04-24 00:34:07 +0200
committerMaks Jopek <maksymilian.jopek@prym-soft.pl>2021-04-24 00:34:07 +0200
commit13dcc2c8fc1d11e3b94432fffc4c4f186bd94d29 (patch)
tree077a963bae31729dffa6c7c678af112680bb6d38 /backend/ts/startGame.ts
parent457ee1d7caa899bbe86bf7a1390f940b5b3176b7 (diff)
downloadfia-13dcc2c8fc1d11e3b94432fffc4c4f186bd94d29.tar.gz
fia-13dcc2c8fc1d11e3b94432fffc4c4f186bd94d29.tar.zst
fia-13dcc2c8fc1d11e3b94432fffc4c4f186bd94d29.zip
Playing almost working
Diffstat (limited to 'backend/ts/startGame.ts')
-rw-r--r--backend/ts/startGame.ts41
1 files changed, 8 insertions, 33 deletions
diff --git a/backend/ts/startGame.ts b/backend/ts/startGame.ts
index 4188d29..eb19bc0 100644
--- a/backend/ts/startGame.ts
+++ b/backend/ts/startGame.ts
@@ -1,41 +1,16 @@
import { } from "../../helpers/helpers";
-import { makeQuery, Color, GameBoard, Chequer, Coordinates, Data } from "../../helpers/helpersBack";
-import { Request, Response } from "express";
+import { makeQuery, nextTurnEndsAt, Color, GameBoard, Chequer, Coordinates, Data, getData, HomesOrBases, Square, tColors } from "../../helpers/helpersBack";
-export default async function startGame(req: Request, res: Response) {
- if (req.session === undefined) {
- res.status(500);
- res.send("");
- return;
- }
-
- makeQuery("UPDATE `fia` SET `started` = 1 WHERE `id`= ?", [req.session.gid]);
- let dbRes: {gameBoard: GameBoard, data: Data}
- = (await makeQuery("SELECT `gameBoard`, `playersCount` FROM `fia` WHERE `id` = ?", [req.session.gid]))[0];
+export default async function startGame(gid: number) {
+ let dbRes: {gameBoard: GameBoard, data: Data} =
+ (await makeQuery("SELECT `gameBoard`, `data` FROM `fia` WHERE `id` = ?", [gid]))[0];
for (let player of dbRes.data) {
- let chequer: Chequer = { color: player.color, x: 1, y: 1 },
- start: Coordinates;
-
- switch (player.color) {
- case Color.red: start = { x: 1, y: 1 }; break;
- case Color.blue: start = { x: 8, y: 1 }; break;
- case Color.yellow: start = { x: 1, y: 8 }; break;
- default /* Color.green */: start = { x: 8, y: 8 }; break;
- // case Color.green: start = { x: 8, y: 8 }; break;
+ for(let square of dbRes.gameBoard.bases[player.color as keyof HomesOrBases]) {
+ square.chequer = player.color;
}
-
- for (let i = 0; i < 2; i++) {
- for (let j = 0; j < 2; j++) {
- //@ts-ignore - 8 + 1 <= 11 which is max of Coordinates
- [chequer.x, chequer.y] = [start.x + i, start.y + j];
- }
- }
-
- dbRes.gameBoard.push(chequer);
}
- await makeQuery("UPDATE `fia` SET `gameBoard` = ? WHERE `id`= ?", [dbRes.gameBoard, req.session.gid]);
-
- res.send("");
+ await makeQuery("UPDATE `fia` SET `gameBoard` = ?, `started` = 1, `timeTillTurnEnd` = ? WHERE `id`= ?",
+ [dbRes.gameBoard, nextTurnEndsAt(), gid]);
} \ No newline at end of file