added lobby functionality

This commit is contained in:
IM23a-cernik
2025-04-17 14:03:15 +02:00
parent 438f3e5eaf
commit f55ceebc28
2 changed files with 30 additions and 3 deletions
+29 -2
View File
@@ -2,21 +2,48 @@ const express = require("express");
const app = express();
const port = 3000;
const playerMap = {};
async function createLobby() {
let response = await fetch("https://www.deckofcardsapi.com/api/deck/new/shuffle/?deck_count=1")
let data = await response.json();
let lobbyId = data.deck_id
await fetch(`https://www.deckofcardsapi.com/api/deck/${lobbyId}/pile/players/add/?cards=`)
console.log(lobbyId);
return lobbyId;
}
as
async function joinLobby(lobbyId, player_name) {
let response = await fetch(`https://www.deckofcardsapi.com/api/deck/${lobbyId}/pile/${player_name}/add/?cards=`)
console.log(response);
}
app.get("/lobby/create", async (req, res) => {
let lobbyId = await createLobby();
res.send("Lobby ID: " + lobbyId);
res.send(lobbyId);
})
app.get("/lobby/join", async (req, res) => {
let lobbyId = req.query.lobbyId;
let name = req.query.name;
await joinLobby(lobbyId, name);
if (!playerMap[lobbyId]) {
playerMap[lobbyId] = [];
}
playerMap[lobbyId].push(name);
res.send(lobbyId + "" + name);
});
app.get("/lobby/players", async (req, res) => {
let lobbyId = req.query.lobbyId;
let players = playerMap[lobbyId] || [];
res.json({ players });
});
app.listen(port, () => {
console.log("Server is running on port " + port);
});