import express from 'express' import cookieParser from 'cookie-parser' import {TicTacToe, GameState} from './tictactoe.js' const app = express() app.use(cookieParser()) const port = 3000 function getUserId(req, res) { let userid = req.cookies.userid if (userid == undefined) { userid = crypto.randomUUID() res.cookie('userid', userid) } return userid } app.get('/join', (req, res) => { const userid = getUserId(req, res) for (let game of Object.values(games)) { if (game.isWaiting()) { game.join(userid) res.json(game.toJson(userid)) return } } // No waiting game found - create a new one let game = new TicTacToe(nextGameId) games[nextGameId] = game nextGameId += 1 game.join(userid) res.json(game.toJson(userid)) })