From a21216173322ca71174f002280cb32f38c25eac8 Mon Sep 17 00:00:00 2001 From: MaciejkaG Date: Sun, 14 Apr 2024 19:17:20 +0200 Subject: [PATCH] Major changes - Improved PWA support on mobile. - Added Vs. AI game menu. - Added the first AI algorithm. - Vs. AI is now available with every option leading to simple bot - Fixed a bug where placing ships in certain rotation around the boundaries of the board would wrongly colour them when sunk. - Improved code clarity and comments - Added an option in the settings to change your nickname - Added version display in the settings - Slightly improved box scaling and layout - Made multiple improvements to the PWA support - Added multiple minor features - Brought back full SPA URL functionality, now if you copy a URL to specific view/page in the menu and go into it, you will actually arrive at that page if it's not restricted. --- index.js | 427 ++++++++++++++++-- lang/en.json | 25 +- lang/pl.json | 25 +- package.json | 2 +- public/{pwa => app}/manifest.json | 23 +- public/assets/css/main.css | 84 +++- public/assets/css/responsive.css | 1 - .../assets/img/screenshot_create_mobile.png | Bin 0 -> 119096 bytes .../assets/img/screenshot_mainmenu_mobile.png | Bin 0 -> 129334 bytes .../assets/img/screenshot_profile_mobile.png | Bin 0 -> 141257 bytes public/assets/js/battleships-lib.js | 14 +- public/assets/js/landing.js | 48 +- public/assets/js/service-worker.js | 3 +- public/assets/js/socket-game.js | 26 +- public/assets/js/socket.js | 86 +++- public/assets/js/spa_lib.js | 14 +- public/assets/js/worker-handler.js | 2 +- utils/auth.js | 42 +- utils/battleships.js | 125 +++-- views/board.handlebars | 10 +- views/index.handlebars | 45 +- views/layouts/main.handlebars | 2 +- 22 files changed, 829 insertions(+), 175 deletions(-) rename public/{pwa => app}/manifest.json (69%) create mode 100644 public/assets/img/screenshot_create_mobile.png create mode 100644 public/assets/img/screenshot_mainmenu_mobile.png create mode 100644 public/assets/img/screenshot_profile_mobile.png diff --git a/index.js b/index.js index 53afdea..ffe824b 100644 --- a/index.js +++ b/index.js @@ -22,6 +22,14 @@ import mysql from 'mysql'; const __filename = fileURLToPath(import.meta.url); const __dirname = path.dirname(__filename); +var packageJSON; + +fs.readFile(path.join(__dirname, 'package.json'), function (err, data) { + if (err) throw err; + packageJSON = JSON.parse(data); +}); + + const app = express(); const flags = process.env.flags ? process.env.flags.split(",") : null; @@ -41,6 +49,12 @@ const redis = createClient(); redis.on('error', err => console.log('Redis Client Error', err)); await redis.connect(); +const prefixes = ["game:*", "timer:*", "loginTimer:*"]; + +prefixes.forEach(prefix => { + redis.eval(`for _,k in ipairs(redis.call('keys', '${prefix}')) do redis.call('del', k) end`, 0); +}); + const limiter = rateLimit({ windowMs: 40 * 1000, limit: 500, @@ -107,6 +121,19 @@ app.get('/privacy', (req, res) => { }); app.get('/', async (req, res) => { + const locale = new Lang(req.acceptsLanguages()); + + if (req.session.activeGame && await redis.json.get(req.session.activeGame)) { + res.render("error", { + helpers: { + error: "Your account is currently taking part in a game from another session", + fallback: "/", + t: (key) => { return locale.t(key) } + } + }); + return; + } + let login = loginState(req); if (login == 0) { @@ -143,7 +170,8 @@ app.get('/', async (req, res) => { res.render('index', { helpers: { - t: (key) => { return locale.t(key) } + t: (key) => { return locale.t(key) }, + ver: packageJSON.version } }); } else { @@ -164,7 +192,8 @@ app.get('/', async (req, res) => { res.render('index', { helpers: { - t: (key) => { return locale.t(key) } + t: (key) => { return locale.t(key) }, + ver: packageJSON.version } }); }); @@ -255,7 +284,7 @@ app.post('/api/login', (req, res) => { res.render("error", { helpers: { - error: "Wystąpił nieznany błąd logowania", + error: "Unknown login error occured", fallback: "/login", t: (key) => { return locale.t(key) } } @@ -267,7 +296,7 @@ app.post('/api/login', (req, res) => { res.render("error", { helpers: { - error: "Niepoprawny adres e-mail", + error: "Wrong e-mail address", fallback: "/login", t: (key) => { return locale.t(key) } } @@ -289,7 +318,7 @@ app.post('/api/auth', async (req, res) => { res.render("error", { helpers: { - error: "Niepoprawny kod logowania", + error: "Wrong authorisation code", fallback: "/auth", t: (key) => { return locale.t(key) } } @@ -300,7 +329,7 @@ app.post('/api/auth', async (req, res) => { res.render("error", { helpers: { - error: "Niepoprawny kod logowania", + error: "Wrong authorisation code", fallback: "/login", t: (key) => { return locale.t(key) } } @@ -309,16 +338,18 @@ app.post('/api/auth', async (req, res) => { }); app.post('/api/nickname', (req, res) => { - if (loginState(req) == 2 && req.session.nickname == null && req.body.nickname != null && 3 <= req.body.nickname.length && req.body.nickname.length <= 16) { + if (loginState(req) == 2 && req.body.nickname != null && 3 <= req.body.nickname.length && req.body.nickname.length <= 16) { req.session.nickname = req.body.nickname; req.session.activeGame = null; auth.setNickname(req.session.userId, req.body.nickname).then(() => { res.redirect('/'); }); } else { + const locale = new Lang(req.acceptsLanguages()); + res.render("error", { helpers: { - error: "Nazwa nie spełnia wymogów: Od 3 do 16 znaków, nie może być pusta", + error: "The nickname does not meet the requirements: length from 3 to 16 characters", fallback: "/nickname", t: (key) => { return locale.t(key) } } @@ -327,11 +358,22 @@ app.post('/api/nickname', (req, res) => { }); app.get('/game', async (req, res) => { - const game = await redis.json.get(`game:${req.query.id}`); + + // if (req.session.activeGame) { + // res.render("error", { + // helpers: { + // error: "Your account is currently taking part in a game from another session", + // fallback: "/", + // t: (key) => { return locale.t(key) } + // } + // }); + // return; + // } + if (req.session.nickname == null) { res.redirect('/setup'); - } else if (req.query.id == null || game == null || game.state == 'expired' || req.session.activeGame == null) { + } else if (!req.query.id || !game || !req.session.activeGame || req.session.activeGame !== req.query.id) { auth.getLanguage(req.session.userId).then(language => { var locale; if (language) { @@ -344,7 +386,7 @@ app.get('/game', async (req, res) => { res.render("error", { helpers: { - error: "Nie znaleziono wskazanej gry", + error: "The specified game was not found", fallback: "/", t: (key) => { return locale.t(key) } } @@ -477,7 +519,7 @@ io.on('connection', async (socket) => { }); } - if (!await GInfo.isPlayerInGame(socket) && session.nickname != null) { + if (!await GInfo.isPlayerInGame(socket) && session.nickname) { // if (session.nickname == null) { // socket.disconnect(); // return; @@ -576,6 +618,7 @@ io.on('connection', async (socket) => { // Teraz utwórz objekt partii w trakcie w bazie Redis const gameId = uuidv4(); redis.json.set(`game:${gameId}`, '$', { + type: 'pvp', hostId: opp.request.session.userId, state: "pregame", startTs: (new Date()).getTime() / 1000, @@ -628,6 +671,10 @@ io.on('connection', async (socket) => { const s = io.sockets.sockets.get(sid); s.leave(msg); }); + + GInfo.timer(gameId, 60, () => { + AFKEnd(gameId); + }); } else { callback({ status: "alreadyInLobby", @@ -636,6 +683,83 @@ io.on('connection', async (socket) => { } }); + socket.on('create pve', (difficulty, callback) => { + if (socket.rooms.size === 1) { + callback({ + status: "ok" + }); + + switch (difficulty) { + case 'simple': + difficulty = 0; + break; + + case 'smart': + difficulty = 1; + break; + + case 'overkill': + difficulty = 2; + break; + + default: + difficulty = 1; + break; + } + + // Teraz utwórz objekt partii w trakcie w bazie Redis + const gameId = uuidv4(); + redis.json.set(`game:${gameId}`, '$', { + type: 'pve', + difficulty: difficulty, + hostId: session.userId, + state: "pregame", + startTs: (new Date()).getTime() / 1000, + ready: [false, true], + boards: [ + { + ships: [], + shots: [], + stats: { + shots: 0, + hits: 0, + placedShips: 0, + sunkShips: 0, + }, + }, + { + ships: [], + shots: [], + stats: { + shots: 0, + hits: 0, + placedShips: 0, + sunkShips: 0, + }, + } + ], + nextPlayer: 0, + }); + + session.reload((err) => { + if (err) return socket.disconnect(); + + session.activeGame = gameId; + session.save(); + }); + + socket.emit("gameReady", gameId); + + GInfo.timer(gameId, 60, () => { + AFKEnd(gameId); + }); + } else { + callback({ + status: "alreadyInLobby", + }); + } + }); + socket.on('logout', () => { session.destroy(); }); @@ -645,7 +769,7 @@ io.on('connection', async (socket) => { io.to(socket.rooms[1]).emit("player left"); } }); - } else if (session.nickname != null) { + } else if (session.nickname && (await GInfo.getPlayerGameData(socket)).data.type === "pvp") { const playerGame = await GInfo.getPlayerGameData(socket); if (playerGame.data.state === 'pregame') { @@ -679,6 +803,8 @@ io.on('connection', async (socket) => { AFKEnd(playerGame.id); }); } + } else { + socket.disconnect(); } socket.on('ready', async (callback) => { @@ -775,7 +901,7 @@ io.on('connection', async (socket) => { if (bships.checkTurn(playerGame.data, session.userId)) { const enemyIdx = session.userId === playerGame.data.hostId ? 1 : 0; - let hit = await GInfo.shootShip(socket, posX, posY); + let hit = await GInfo.shootShip(socket, enemyIdx, posX, posY); await redis.json.arrAppend(`game:${playerGame.id}`, `.boards[${enemyIdx}].shots`, { posX: posX, posY: posY }); await GInfo.incrStat(socket, 'shots'); @@ -824,7 +950,7 @@ io.on('connection', async (socket) => { } else if (hit.status === -1) { const locale = new Lang(session.langs); - socket.emit("toast", locale.t("You have already shot at this field")); + socket.emit("toast", locale.t("board.You have already shot at this field")); return; } @@ -837,6 +963,223 @@ io.on('connection', async (socket) => { } }); + socket.on('disconnecting', async () => { + const playerGame = await GInfo.getPlayerGameData(socket); + if (playerGame !== null) { + AFKEnd(playerGame.id); + await GInfo.resetTimer(playerGame.id); + } + }); + } else if (session.nickname && (await GInfo.getPlayerGameData(socket)).data.type === "pve") { + const playerGame = await GInfo.getPlayerGameData(socket); + + if (playerGame.data.state === 'pregame') { + socket.join(playerGame.id); + if (io.sockets.adapter.rooms.get(playerGame.id).size === 1) { + GInfo.resetTimer(playerGame.id); + io.to(playerGame.id).emit('players ready'); + + socket.emit('player idx', 0); + + let UTCTs = Math.floor((new Date()).getTime() / 1000 + 180); + io.to(playerGame.id).emit('turn update', { turn: 0, phase: "preparation", timerToUTC: UTCTs }); + GInfo.timer(playerGame.id, 180, async () => { + finishPrepPhase(socket, playerGame); + placeAIShips(socket); + }); + + await redis.json.set(`game:${playerGame.id}`, '$.state', "preparation"); + } else if (io.sockets.adapter.rooms.get(playerGame.id).size > 2) { + socket.disconnect(); + } + } else { + socket.disconnect(); + } + + socket.on('ready', async (callback) => { + if (!(callback && typeof callback === 'function')) { + return; + } + + const playerGame = await GInfo.getPlayerGameData(socket); + + const playerIdx = 0; + const userNotReady = !playerGame.data.ready[playerIdx]; + + if (playerGame && playerGame.data.state === 'preparation' && userNotReady) { + await GInfo.setReady(socket); + const playerGame = await GInfo.getPlayerGameData(socket); + + if (playerGame.data.ready[0] && playerGame.data.ready[1]) { + // Both set ready + await GInfo.resetTimer(playerGame.id); + + callback(); + + await finishPrepPhase(socket, playerGame); + await placeAIShips(socket); + } + } + }); + + socket.on('place ship', async (type, posX, posY, rot) => { + const playerGame = await GInfo.getPlayerGameData(socket); + + if (type < 0 || type > 3) { + return; + } + + if (playerGame && playerGame.data.state === 'preparation') { + const playerShips = await GInfo.getPlayerShips(socket); + let canPlace = bships.validateShipPosition(playerShips, type, posX, posY, rot); + let shipAvailable = bships.getShipsAvailable(playerShips)[type] > 0; + + if (!canPlace) { + const locale = new Lang(session.langs); + + socket.emit("toast", locale.t("board.You cannot place a ship like this")); + } else if (!shipAvailable) { + const locale = new Lang(session.langs); + + socket.emit("toast", locale.t("board.You have ran out of ships of that type")); + } else { + await GInfo.placeShip(socket, { type: type, posX: posX, posY: posY, rot: rot, hits: Array.from(new Array(type + 1), () => false) }); + socket.emit("placed ship", { type: type, posX: posX, posY: posY, rot: rot }); + await GInfo.incrStat(socket, 'placedShips'); + } + } + }); + + socket.on('remove ship', async (posX, posY) => { + const playerGame = await GInfo.getPlayerGameData(socket); + + if (playerGame && playerGame.data.state === 'preparation') { + const deletedShip = await GInfo.removeShip(socket, posX, posY); + socket.emit("removed ship", { posX: posX, posY: posY, type: deletedShip.type }); + await GInfo.incrStat(socket, 'placedShips', -1); + } + }); + + socket.on('shoot', async (posX, posY) => { + let playerGame = await GInfo.getPlayerGameData(socket); + + if (playerGame && playerGame.data.state === 'action') { + if (bships.checkTurn(playerGame.data, session.userId)) { + const enemyIdx = 1; + + let hit = await GInfo.shootShip(socket, enemyIdx, posX, posY); + + await redis.json.arrAppend(`game:${playerGame.id}`, `.boards[${enemyIdx}].shots`, { posX: posX, posY: posY }); + await GInfo.incrStat(socket, 'shots'); + + if (!hit.status) { + socket.emit("shot missed", enemyIdx, posX, posY); + } else if (hit.status === 1) { + socket.emit("shot hit", enemyIdx, posX, posY); + await GInfo.incrStat(socket, 'hits'); + } else if (hit.status === 2) { + socket.emit("shot hit", enemyIdx, posX, posY); + await GInfo.incrStat(socket, 'hits'); + io.to(playerGame.id).emit("ship sunk", enemyIdx, hit.ship); + await GInfo.incrStat(socket, 'sunkShips'); + + if (hit.gameFinished) { + let hostNickname = session.nickname; + + let difficulty; + + switch (playerGame.data.difficulty) { + case 0: + difficulty = "simple"; + break; + + case 1: + difficulty = "smart"; + break; + + case 2: + difficulty = "overkill"; + break; + } + + let guestNickname = `AI (${difficulty})`; + + socket.emit("game finished", 0, guestNickname); + + playerGame = await GInfo.getPlayerGameData(socket); + auth.saveMatch(playerGame.id, (new Date).getTime() / 1000 - playerGame.data.startTs, "pve", session.userId, '77777777-77777777-77777777-77777777', playerGame.data.boards, 1, difficulty); + + GInfo.resetTimer(playerGame.id); + endGame(playerGame.id); + return; + } + } else if (hit.status === -1) { + const locale = new Lang(session.langs); + + socket.emit("toast", locale.t("board.You have already shot at this field")); + return; + } + + await GInfo.passTurn(socket); + + [posX, posY] = await GInfo.makeAIMove(socket, playerGame.difficulty); + + hit = await GInfo.shootShip(socket, 0, posX, posY); + + await redis.json.arrAppend(`game:${playerGame.id}`, `.boards[0].shots`, { posX: posX, posY: posY }); + await GInfo.incrStat(socket, 'shots', 1, 1); + + if (!hit.status) { + socket.emit("shot missed", 0, posX, posY); + } else if (hit.status === 1) { + socket.emit("shot hit", 0, posX, posY); + await GInfo.incrStat(socket, 'hits', 1, 1); + } else if (hit.status === 2) { + socket.emit("shot hit", 0, posX, posY); + await GInfo.incrStat(socket, 'hits', 1, 1); + socket.emit("ship sunk", 0, hit.ship); + await GInfo.incrStat(socket, 'sunkShips', 1, 1); + + if (hit.gameFinished) { + let difficulty; + + switch (playerGame.data.difficulty) { + case 0: + difficulty = "simple"; + break; + + case 1: + difficulty = "smart"; + break; + + case 2: + difficulty = "overkill"; + break; + } + + let guestNickname = `AI (${difficulty})`; + + socket.emit("game finished", 1, guestNickname); + + playerGame = await GInfo.getPlayerGameData(socket); + auth.saveMatch(playerGame.id, (new Date).getTime() / 1000 - playerGame.data.startTs, "pve", session.userId, '77777777-77777777-77777777-77777777', playerGame.data.boards, 0, difficulty); + + GInfo.resetTimer(playerGame.id); + endGame(playerGame.id); + return; + } + } + + await GInfo.passTurn(socket); + + GInfo.resetTimer(playerGame.id); + GInfo.timer(playerGame.id, 30, () => { + AFKEnd(playerGame.id); + }); + } + } + }); + socket.on('disconnecting', async () => { const playerGame = await GInfo.getPlayerGameData(socket); if (playerGame !== null) { @@ -876,7 +1219,7 @@ function endGame(gameId) { } } - redis.json.del(`game:${gameId}`); + redis.unlink(`game:${gameId}`); } function AFKEnd(gameId) { @@ -884,6 +1227,34 @@ function AFKEnd(gameId) { endGame(gameId); } +async function finishPrepPhase(socket, playerGame) { + await GInfo.endPrepPhase(socket); + + const members = [...roomMemberIterator(playerGame.id)]; + for (let i = 0; i < members.length; i++) { + const sid = members[i][0]; + const socket = io.sockets.sockets.get(sid); + + let placedShips = await GInfo.depleteShips(socket); + placedShips.forEach(shipData => { + socket.emit("placed ship", shipData) + }); + + if (placedShips.length > 0) { + const locale = new Lang(socket.session.langs); + socket.emit("toast", locale.t("board.Your remaining ships have been randomly placed")) + } + } + + GInfo.timer(playerGame.id, 30, () => { + AFKEnd(playerGame.id); + }); +} + +async function placeAIShips(socket, playerGame) { + await GInfo.depleteShips(socket, 1); +} + function roomMemberIterator(id) { return io.sockets.adapter.rooms.get(id) == undefined ? null : io.sockets.adapter.rooms.get(id).entries(); } @@ -926,28 +1297,4 @@ function checkFlag(key) { } else { return false; } -} - -async function finishPrepPhase(socket, playerGame) { - await GInfo.endPrepPhase(socket); - - const members = [...roomMemberIterator(playerGame.id)]; - for (let i = 0; i < members.length; i++) { - const sid = members[i][0]; - const socket = io.sockets.sockets.get(sid); - - let placedShips = await GInfo.depleteShips(socket); - placedShips.forEach(shipData => { - socket.emit("placed ship", shipData) - }); - - if (placedShips.length > 0) { - const locale = new Lang(socket.session.langs); - socket.emit("toast", locale.t("board.Your remaining ships have been randomly placed")) - } - } - - GInfo.timer(playerGame.id, 30, () => { - AFKEnd(playerGame.id); - }); } \ No newline at end of file diff --git a/lang/en.json b/lang/en.json index 2119106..8c0ade0 100644 --- a/lang/en.json +++ b/lang/en.json @@ -65,6 +65,22 @@ "You will be redirected soon": "You will be redirected soon", "Opponent:": "Opponent" }, + "PvE": { + "Create": "PvE / Create", + "Choose the difficulty mode": "Choose the difficulty mode", + "difficulty": { + "Simple": { + "description": "In this mode, the bot is just randomly shooting at fields, without any intelligence." + }, + "Smart": { + "description": "In this mode, the bot understands the rules of the game and will try to predict where your ships could be and knows where they couldn't." + }, + "Overkill": { + "description": "This mode is an absolute overkill - the bot knows exact positions of all your ships and will shoot at them in random order with 100% accuracy. To win in this mode, you need to have 100% accuracy for the entire game." + } + }, + "Begin": "Begin" + }, "Profile": { "Loading": "Loading...", "Player since:": "Player since:", @@ -78,7 +94,12 @@ }, "Settings": { "General": "General", - "Log out": "Log out" + "Account": "Account", + + "Log out": "Log out", + + "Current nickname:": "Current nickname:", + "Change nickname": "Change nickname" }, "General": { "Unknown error occured": "Unknown error occured", @@ -123,7 +144,7 @@ "Four-masted": "Four-masted", "Available:": "Available:", - "Sunk ships": "Sunk ships", + "To sunk": "To sunk", "Single-mastedPlu": "Single-masted:", "Two-mastedPlu": "Two-masted:", "Three-mastedPlu": "Three-masted:", diff --git a/lang/pl.json b/lang/pl.json index 61cf4bd..5b206fe 100644 --- a/lang/pl.json +++ b/lang/pl.json @@ -65,6 +65,22 @@ "You will be redirected soon": "Wkrótce nastąpi przekierowanie", "Opponent:": "Przeciwnik" }, + "PvE": { + "Create": "PvE / Stwórz", + "Choose the difficulty mode": "Wybierz tryb trudności", + "difficulty": { + "Simple": { + "description": "W tym trybie, bot po prostu losowo strzela w pola, bez żadnej inteligencji." + }, + "Smart": { + "description": "W tym trybie, bot rozumie zasady gry i próbuje przewidywać gdzie Twoje statki mogą być oraz wie gdzie ich na pewno nie ma. Jest to tryb najbardziej zbliżony to przeciętnego gracza." + }, + "Overkill": { + "description": "Ten tryb to kompletna przesada - bot zna dokładne pozycje wszystkich Twoich statków i będzie strzelał do nich w losowej kolejności ze 100% celnością. By wygrać na tym trybie, musisz mieć 100% celność przez całą grę." + } + }, + "Begin": "Rozpocznij" + }, "Profile": { "Loading": "Wczytywanie...", "Player since:": "Gracz od:", @@ -79,7 +95,12 @@ }, "Settings": { "General": "Ogólne", - "Log out": "Wyloguj się" + "Account": "Konto", + + "Log out": "Wyloguj się", + + "Current nickname:": "Aktualny nickname:", + "Change nickname": "Zmień nickname" }, "General": { "Unknown error occured": "Wystąpił nieznany błąd", @@ -124,7 +145,7 @@ "Four-masted": "Czteromasztowiec", "Available:": "Dostępne:", - "Sunk ships": "Zatopione statki", + "To sunk": "Do zatopienia", "Single-mastedPlu": "Jednomasztowce:", "Two-mastedPlu": "Dwumasztowce:", "Three-mastedPlu": "Trójmasztowce:", diff --git a/package.json b/package.json index c66c965..3a83ff9 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "statki-backend", - "version": "0.7.0", + "version": "0.7.4", "description": "Backend do gry w statki", "main": "index.js", "type": "module", diff --git a/public/pwa/manifest.json b/public/app/manifest.json similarity index 69% rename from public/pwa/manifest.json rename to public/app/manifest.json index d56aa76..ce20e63 100644 --- a/public/pwa/manifest.json +++ b/public/app/manifest.json @@ -4,7 +4,7 @@ "start_url": "/", "background_color": "black", "theme_color": "black", - "orientation": "landscape", + "orientation": "any", "icons": [ { "src": "/assets/img/statki-logo-crop.png", @@ -50,6 +50,27 @@ "type": "image/png", "form_factor": "wide", "label": "Preparation phase" + }, + { + "src": "/assets/img/screenshot_mainmenu_mobile.png", + "sizes": "1082x2402", + "type": "image/png", + "form_factor": "narrow", + "label": "Main menu screen" + }, + { + "src": "/assets/img/screenshot_profile_mobile.png", + "sizes": "1082x2402", + "type": "image/png", + "form_factor": "narrow", + "label": "Profile view" + }, + { + "src": "/assets/img/screenshot_create_mobile.png", + "sizes": "1082x2402", + "type": "image/png", + "form_factor": "narrow", + "label": "Create game screen" } ], "display": "standalone" diff --git a/public/assets/css/main.css b/public/assets/css/main.css index efc086e..c228307 100644 --- a/public/assets/css/main.css +++ b/public/assets/css/main.css @@ -108,13 +108,12 @@ nav span:hover { } #pvpCreateView .modes div { - height: 17rem; width: 15rem; background-color: black; border: solid 1px white; border-radius: 15px; user-select: none; - padding: 1rem 3rem; + padding: 2rem 3rem; display: flex; flex-direction: column; gap: 0.5rem; @@ -351,6 +350,30 @@ nav span:hover { text-decoration: underline; } +#settingsView .versionInfo { + margin-top: 3rem; + font-family: 'Roboto Mono', monospace; + font-size: 15px; +} + +#settingsView button { + background-color: black; + color: white; + border-radius: 15px; + border: 1px solid white; + text-align: center; + padding: 0.5rem 2rem; + outline: none; + cursor: pointer; + font-size: 1rem; + transition: all 0.3s; +} + +#settingsView button:hover { + background-color: white; + color: black; +} + #logout { color: var(--danger); cursor: pointer; @@ -360,4 +383,61 @@ nav span:hover { #logout:hover { opacity: 0.6; +} + +/* PvE */ +#vsAiView .modes { + display: flex; + flex-wrap: wrap; + justify-content: center; + gap: 2rem; +} + +#vsAiView .modes div { + /* height: 7rem; */ + width: 15rem; + background-color: black; + border: solid 1px white; + border-radius: 15px; + user-select: none; + padding: 2rem 3rem; +} + +#vsAiView form { + display: flex; + flex-direction: column; + gap: 0.5rem; +} + +#vsAiView form input { + background-color: black; + color: white; + border-radius: 15px; + border: 1px solid white; + font-size: 1.5rem; + text-align: center; + padding: 0.5rem 2rem; + outline: none; +} + +#vsAiView form input[type=submit] { + cursor: pointer; + font-size: 1rem; + transition: all 0.3s; +} + +#vsAiView form input[type=submit]:hover { + background-color: white; + color: black; +} + +#vsAiView select { + padding: 0.5rem 1rem; + padding: 0.5rem 2rem; + font-size: 1rem; + background-color: black; + border: solid 1px white; + color: white; + border-radius: 15px; + outline: none; } \ No newline at end of file diff --git a/public/assets/css/responsive.css b/public/assets/css/responsive.css index 10bd320..b522e23 100644 --- a/public/assets/css/responsive.css +++ b/public/assets/css/responsive.css @@ -17,7 +17,6 @@ @media only screen and (max-width: 820px) { #pvpCreateView .modes div { max-width: 90vw; - height: 19rem; padding: 2rem 1.5rem; } diff --git a/public/assets/img/screenshot_create_mobile.png b/public/assets/img/screenshot_create_mobile.png new file mode 100644 index 0000000000000000000000000000000000000000..1ed99a4067d66b89f36dd0a35a0339b289540cad GIT binary patch literal 119096 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 )&%i#ETO^F}em6g0bag^J0xGUtv=S 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 literal 0 HcmV?d00001 diff --git a/public/assets/img/screenshot_mainmenu_mobile.png b/public/assets/img/screenshot_mainmenu_mobile.png new file mode 100644 index 0000000000000000000000000000000000000000..332b29128a39b48bcd0bc47a31898d50cc902861 GIT binary patch literal 129334 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 z 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 N=Wd^0E8LHy{~Pau!y*6x literal 0 HcmV?d00001 diff --git a/public/assets/img/screenshot_profile_mobile.png b/public/assets/img/screenshot_profile_mobile.png new file mode 100644 index 0000000000000000000000000000000000000000..99a009b97e7a7c70b3fe711fa7c25ac3eddfd99d GIT binary patch literal 141257 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

n#gH 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 { - var content = $("#scrolldowntext").html(); - const len = content.length; +// const initialContent = $("#scrolldowntext").html(); - for (let i = 0; i < len; i++) { - const duration = Math.random() * 20 + 40; +// setInterval(() => { +// var content = $("#scrolldowntext").html(); +// const len = content.length; - setTimeout(() => { - let previousChar = content.charAt(i); +// for (let i = 0; i < len; i++) { +// const duration = Math.random() * 20 + 40; - let randomChar = charset[Math.floor(Math.random() * charset.length)]; - content = content.replaceAt(i, randomChar); +// setTimeout(() => { +// let previousChar = content.charAt(i); - $("#scrolldowntext").html(content); +// let randomChar = charset[Math.floor(Math.random() * charset.length)]; +// content = content.replaceAt(i, randomChar); - setTimeout(() => { - content = content.replaceAt(i, previousChar); - $("#scrolldowntext").html(content); +// $("#scrolldowntext").html(content); - if (i == len - 1) { - content = initialContent; - $("#scrolldowntext").html(initialContent); - } - }, duration * len + duration * i); - }, duration * i); - } -}, 5000); +// setTimeout(() => { +// content = content.replaceAt(i, previousChar); +// $("#scrolldowntext").html(content); + +// if (i == len - 1) { +// content = initialContent; +// $("#scrolldowntext").html(initialContent); +// } +// }, duration * len + duration * i); +// }, duration * i); +// } +// }, 5000); document.addEventListener("wheel", (event) => { if (event.deltaY > 0) { diff --git a/public/assets/js/service-worker.js b/public/assets/js/service-worker.js index aee2207..3250efa 100644 --- a/public/assets/js/service-worker.js +++ b/public/assets/js/service-worker.js @@ -22,4 +22,5 @@ self.addEventListener("install", installEvent => { cache.addAll(assets); }) ); -}); \ No newline at end of file +}); + diff --git a/public/assets/js/socket-game.js b/public/assets/js/socket-game.js index dca9258..8f23d56 100644 --- a/public/assets/js/socket-game.js +++ b/public/assets/js/socket-game.js @@ -50,11 +50,9 @@ if ($(window).width() <= 820) { } $('#board .field').on('click', function () { - if (new Date().getTime() / 1000 - lastTimeClick > 0.3) { - if ($(window).width() > 820) { - socket.emit("place ship", selectedShip, $(this).data('pos-x'), $(this).data('pos-y'), shipRotation); - lastTimeClick = new Date().getTime() / 1000; - } + if (new Date().getTime() / 1000 - lastTimeClick > 0.3 && $(window).width() > 820 && !postPrep) { + socket.emit("place ship", selectedShip, $(this).data('pos-x'), $(this).data('pos-y'), shipRotation); + lastTimeClick = new Date().getTime() / 1000; } }); @@ -66,11 +64,9 @@ function manualPlace(posX, posY) { } $('#secondaryBoard .field').on('click', function () { - if (new Date().getTime() / 1000 - lastTimeClick > 0.3) { - if ($(window).width() > 820) { - socket.emit("shoot", $(this).data('pos-x'), $(this).data('pos-y')); - lastTimeClick = new Date().getTime() / 1000; - } + if (new Date().getTime() / 1000 - lastTimeClick > 0.3 && $(window).width() > 820 && myTurn) { + socket.emit("shoot", $(this).data('pos-x'), $(this).data('pos-y')); + lastTimeClick = new Date().getTime() / 1000; } }); @@ -178,7 +174,7 @@ socket.on("ship sunk", (victimIdx, ship) => { break; } - let l = !ship.type ? ship.type + 1 : ship.type + 2; + let l = ship.type + 1; if (victimIdx === playerIdx) { for (let i = 0; i < l; i++) { setTimeout(() => { @@ -332,10 +328,10 @@ function getAccuracy() { } function updateShipsSunk() { - $("#singlemasted").html(shipsSunk[0]); - $("#twomasted").html(shipsSunk[1]); - $("#threemasted").html(shipsSunk[2]); - $("#fourmasted").html(shipsSunk[3]); + $("#singlemasted").html(4 - shipsSunk[0]); + $("#twomasted").html(3 - shipsSunk[1]); + $("#threemasted").html(2 - shipsSunk[2]); + $("#fourmasted").html(1 - shipsSunk[3]); } function readyUp() { diff --git a/public/assets/js/socket.js b/public/assets/js/socket.js index 2e72f88..91b4fbd 100644 --- a/public/assets/js/socket.js +++ b/public/assets/js/socket.js @@ -7,16 +7,15 @@ socket.on("joined", (nick) => { returnLock = false; lockUI(true); $("#oppNameField").html(nick); - switchView("preparingGame"); lockUI(false); + switchView("preparingGame"); console.log("Player joined the game:", nick); }); socket.on("player left", () => { - lockUI(true); - switchView("mainMenuView"); lockUI(false); + switchView("mainMenuView"); console.log("Player left the game"); }); @@ -62,11 +61,12 @@ $("#languages").on("change", function() { socket.emit("my profile", (profile) => { console.log("Received user data. UID:", profile.uid); + console.log("Profile data:", profile); // General profile data let options = { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' }; $("#playerSince").html(new Date(profile.profile.account_creation).toLocaleDateString(undefined, options)); - $("#nickname").html(profile.profile.nickname); + $(".nickname").html(profile.profile.nickname); // Profile stats $("#monthlyPlayed").html(profile.stats.monthly_matches); @@ -89,7 +89,8 @@ socket.emit("my profile", (profile) => { const duration = `${minutes}:${seconds}`; - matchHistoryDOM += `

${match.won === 1 ? window.locale["Victory"] : window.locale["Defeat"]}

vs. ${match.match_type === "pvp" ? match.opponent : "AI"}

${window.locale["Click to view match statistics"]}

${date}
${duration}
`; + console.log(match); + matchHistoryDOM += `

${match.won === 1 ? window.locale["Victory"] : window.locale["Defeat"]}

vs. ${match.match_type === "pvp" ? match.opponent : "AI ("+match.ai_type+")"}

${window.locale["Click to view match statistics"]}

${date}
${duration}
`; } if (!matchHistoryDOM) { @@ -140,25 +141,41 @@ $("#leaveGameButton").on("click", function () { window.location.reload(); }); -$("#pvpMenuButton").on("click", function () { - switchView('pvpMenuView'); -}); - $("#logout").on("click", function() { lockUI(true); socket.emit("logout"); window.location.reload(); }); -const form = document.getElementById('pvpJoinForm'); -const input = document.getElementById('pvpJoinCode'); +$("#pveDifficulty").on("change", function() { + switch (this.value) { + case 'simple': + $('#difficultyDescription').html(locale["Simple description"]); + break; -form.addEventListener('submit', (e) => { + case 'smart': + $('#difficultyDescription').html(locale["Smart description"]); + break; + + case 'overkill': + $('#difficultyDescription').html(locale["Overkill description"]); + break; + + default: + $('#difficultyDescription').html(''); + break; + } +}); + +const joinForm = document.getElementById('pvpJoinForm'); +const joinCodeInput = document.getElementById('pvpJoinCode'); + +joinForm.addEventListener('submit', (e) => { e.preventDefault(); - if (input.value && input.value.length === 6) { + if (joinCodeInput.value && joinCodeInput.value.length === 6) { lockUI(true); - console.log("Joining a lobby with code:", input.value); - socket.emit("join lobby", input.value, (response) => { + console.log("Joining a lobby with code:", joinCodeInput.value); + socket.emit("join lobby", joinCodeInput.value, (response) => { switch (response.status) { case "ok": console.log("Joined a lobby by:", response.oppNickname); @@ -174,6 +191,41 @@ form.addEventListener('submit', (e) => { break; } }); - input.value = ''; + joinCodeInput.value = ''; } -}); \ No newline at end of file +}); + +const pveForm = document.getElementById('pveCreateForm'); +const pveDifficulty = document.getElementById('pveDifficulty').value; + +pveForm.addEventListener('submit', (e) => { + e.preventDefault(); + if (pveDifficulty) { + lockUI(true); + console.log("Creating a PvE game with difficulty:", pveDifficulty); + socket.emit("create pve", pveDifficulty, (response) => { + switch (response.status) { + case "ok": + console.log("Joined a PvE lobby: ", response.oppNickname); + $("#oppNameField").html(`AI (${pveDifficulty})`); + lockUI(false); + switchView("preparingGame"); + break; + + default: + alert(`${window.locale["Unknown error occured"]}\n${window.locale["Status:"]} ${response.status}`); + lockUI(false); + switchView("mainMenuView"); + break; + } + }); + joinCodeInput.value = ''; + } +}); + +// const isInStandaloneMode = () => +// (window.matchMedia('(display-mode: standalone)').matches) || (window.navigator.standalone) || document.referrer.includes('android-app://'); + +// if (isInStandaloneMode()) { +// alert("Thanks for using the PWA!"); +// } \ No newline at end of file diff --git a/public/assets/js/spa_lib.js b/public/assets/js/spa_lib.js index 037c31e..1e653d9 100644 --- a/public/assets/js/spa_lib.js +++ b/public/assets/js/spa_lib.js @@ -34,15 +34,13 @@ const initialURLParams = new URLSearchParams(window.location.search); const initialPath = initialURLParams.get('path'); window.addEventListener("load", () => { - // if (initialPath != null) { - // let elem = document.querySelector(`.container[data-path="${initialPath}"]`); + if (initialPath != null) { + let elem = document.querySelector(`.container[data-path="${initialPath}"]:not(.container[data-pathlock])`); - // if (elem != null) { - // switchView(elem.id, true); - // } - // } else { - // switchView("mainMenuView"); - //} + if (elem != null) { + switchView(elem.id, true); + } + } }); addEventListener("popstate", (event) => { diff --git a/public/assets/js/worker-handler.js b/public/assets/js/worker-handler.js index 0d603e1..5b7d7b4 100644 --- a/public/assets/js/worker-handler.js +++ b/public/assets/js/worker-handler.js @@ -1,7 +1,7 @@ if ("serviceWorker" in navigator) { window.addEventListener("load", () => { navigator.serviceWorker - .register("/serviceWorker.js") + .register("/assets/js/service-worker.js") .then(res => console.log("Service worker registered")) .catch(err => console.log("Service worker not registered", err)); }); diff --git a/utils/auth.js b/utils/auth.js index 2737791..b692d37 100644 --- a/utils/auth.js +++ b/utils/auth.js @@ -30,24 +30,40 @@ export class MailAuth { } async timer(tId, time, callback) { - await this.redis.set(`loginTimer:${tId}`, new Date().getTime() / 1000); - let localLastUpdate = await this.redis.get(`loginTimer:${tId}`); + let timerEnd = new Date().getTime() / 1000 + time; - let timeout = setTimeout(callback, time * 1000); + await this.redis.set(`loginTimer:${tId}`, timerEnd); let interval = setInterval(async () => { - if (timeout._destroyed) { + if (new Date().getTime() < timerEnd) { clearInterval(interval); + + callback(); return; } let lastUpdate = await this.redis.get(`loginTimer:${tId}`); - if (localLastUpdate != lastUpdate) { - clearTimeout(timeout); + if (timerEnd != lastUpdate) { clearInterval(interval); return; } - }, 200); + }, 1000); + + // let timeout = setTimeout(callback, time * 1000); + + // let interval = setInterval(async () => { + // if (timeout._destroyed) { + // clearInterval(interval); + // return; + // } + + // let lastUpdate = await this.redis.get(`loginTimer:${tId}`); + // if (localLastUpdate != lastUpdate) { + // clearTimeout(timeout); + // clearInterval(interval); + // return; + // } + // }, 200); } async resetTimer(tId) { @@ -133,7 +149,7 @@ export class MailAuth { await this.redis.set(`codeAuth:${authCode}`, row.user_id); await this.timer(row.user_id, 600, async () => { - await this.redis.json.del(`codeAuth:${authCode}`); + await this.redis.unlink(`codeAuth:${authCode}`); }); authCode = authCode.slice(0, 4) + " " + authCode.slice(4); @@ -173,7 +189,7 @@ export class MailAuth { await this.redis.set(`codeAuth:${authCode}`, row.user_id); await this.timer(row.user_id, 600, async () => { - await this.redis.json.del(`codeAuth:${authCode}`); + await this.redis.unlink(`codeAuth:${authCode}`); }); authCode = authCode.slice(0, 4) + " " + authCode.slice(4); @@ -205,10 +221,10 @@ export class MailAuth { }); } - saveMatch(matchId, duration, type, hostId, guestId, boards, winnerIdx) { + saveMatch(matchId, duration, type, hostId, guestId, boards, winnerIdx, aitype = null) { return new Promise((resolve, reject) => { const conn = mysql.createConnection(this.mysqlOptions); - conn.query(`INSERT INTO matches(match_id, match_type, host_id, guest_id, duration) VALUES (${conn.escape(matchId)}, ${conn.escape(type)}, ${conn.escape(hostId)}, ${conn.escape(guestId)}, ${conn.escape(duration)})`, async (error) => { + conn.query(`INSERT INTO matches(match_id, match_type, host_id, guest_id, duration${aitype == null ? "" : ", ai_type"}) VALUES (${conn.escape(matchId)}, ${conn.escape(type)}, ${conn.escape(hostId)}, ${conn.escape(guestId)}, ${conn.escape(duration)}${aitype == null ? "" : ", " + conn.escape(aitype)})`, async (error) => { if (error) reject(error); else conn.query(`INSERT INTO statistics(match_id, user_id, board, won) VALUES (${conn.escape(matchId)}, ${conn.escape(hostId)}, ${conn.escape(JSON.stringify(boards[0]))}, ${conn.escape(winnerIdx ? 1 : 0)}), (${conn.escape(matchId)}, ${conn.escape(guestId)}, ${conn.escape(JSON.stringify(boards[1]))}, ${conn.escape(winnerIdx ? 0 : 1)})`, async (error, response) => { if (error) reject(error); @@ -223,7 +239,7 @@ export class MailAuth { getProfile(userId) { return new Promise((resolve, reject) => { const conn = mysql.createConnection(this.mysqlOptions); - conn.query(`SELECT nickname, account_creation FROM accounts WHERE user_id = ${conn.escape(userId)}; SELECT ROUND((AVG(statistics.won)) * 100) AS winrate, COUNT(statistics.match_id) AS alltime_matches, COUNT(CASE WHEN (YEAR(matches.date) = YEAR(NOW()) AND MONTH(matches.date) = MONTH(NOW())) THEN matches.match_id END) AS monthly_matches FROM accounts NATURAL JOIN statistics NATURAL JOIN matches WHERE accounts.user_id = ${conn.escape(userId)}; SELECT statistics.match_id, accounts.nickname AS opponent, matches.match_type, statistics.won, matches.duration, matches.date FROM statistics JOIN matches ON matches.match_id = statistics.match_id JOIN accounts ON accounts.user_id = (CASE WHEN matches.host_id != statistics.user_id THEN matches.host_id ELSE matches.guest_id END) WHERE statistics.user_id = ${conn.escape(userId)} ORDER BY matches.date DESC LIMIT 10;`, async (error, response) => { + conn.query(`SELECT nickname, account_creation FROM accounts WHERE user_id = ${conn.escape(userId)}; SELECT ROUND((AVG(statistics.won)) * 100) AS winrate, COUNT(statistics.match_id) AS alltime_matches, COUNT(CASE WHEN (YEAR(matches.date) = YEAR(NOW()) AND MONTH(matches.date) = MONTH(NOW())) THEN matches.match_id END) AS monthly_matches FROM accounts NATURAL JOIN statistics NATURAL JOIN matches WHERE accounts.user_id = ${conn.escape(userId)}; SELECT statistics.match_id, accounts.nickname AS opponent, matches.match_type, statistics.won, matches.ai_type, matches.duration, matches.date FROM statistics JOIN matches ON matches.match_id = statistics.match_id JOIN accounts ON accounts.user_id = (CASE WHEN matches.host_id != statistics.user_id THEN matches.host_id ELSE matches.guest_id END) WHERE statistics.user_id = ${conn.escape(userId)} ORDER BY matches.date DESC LIMIT 10;`, async (error, response) => { if (error) reject(error); else { if (response[0].length === 0 || response[1].length === 0) { @@ -246,7 +262,7 @@ export class MailAuth { const rUid = await this.redis.get(`codeAuth:${authCode}`); if (rUid != null && rUid === uid) { this.resetTimer(rUid); - await this.redis.del(`codeAuth:${authCode}`); + await this.redis.unlink(`codeAuth:${authCode}`); return true; } else { return false; diff --git a/utils/battleships.js b/utils/battleships.js index bbc6e0f..1db694f 100644 --- a/utils/battleships.js +++ b/utils/battleships.js @@ -59,9 +59,11 @@ export class GameInfo { return stats; } - async incrStat(socket, statKey, by = 1) { - const game = await this.redis.json.get(`game:${socket.session.activeGame}`); - const idx = socket.request.session.userId === game.hostId ? 0 : 1; + async incrStat(socket, statKey, by = 1, idx) { + if (!idx) { + const game = await this.redis.json.get(`game:${socket.session.activeGame}`); + idx = socket.request.session.userId === game.hostId ? 0 : 1; + } this.redis.json.numIncrBy(`game:${socket.session.activeGame}`, `.boards[${idx}].stats.${statKey}`, by); } @@ -105,12 +107,14 @@ export class GameInfo { await this.redis.json.arrAppend(key, `.boards[${playerIdx}].ships`, shipData); } - async depleteShips(socket) { + async depleteShips(socket, playerIdx) { const gameId = socket.session.activeGame; const key = `game:${gameId}`; const hostId = (await this.redis.json.get(key, { path: '.hostId' })); - const playerIdx = socket.request.session.userId === hostId ? 0 : 1; + if (!playerIdx) { + playerIdx = socket.request.session.userId === hostId ? 0 : 1; + } var playerShips = (await this.redis.json.get(key, { path: `.boards[${playerIdx}].ships` })); @@ -237,13 +241,9 @@ export class GameInfo { return deletedShip; } - async shootShip(socket, posX, posY) { + async shootShip(socket, enemyIdx, posX, posY) { const gameId = socket.session.activeGame; const key = `game:${gameId}`; - const hostId = (await this.redis.json.get(key, { path: '.hostId' })); - - const enemyIdx = socket.request.session.userId === hostId ? 1 : 0; - // const playerIdx = enemyIdx ? 0 : 1; let playerBoard = await this.redis.json.get(key, { path: `.boards[${enemyIdx}]` }); @@ -286,7 +286,46 @@ export class GameInfo { return { status: 1, ship: shotShip }; } - async setReady(socket) { + async makeAIMove(socket, difficulty) { + difficulty = 0; + + const gameId = socket.session.activeGame; + const key = `game:${gameId}`; + + const boards = await this.redis.json.get(key, { path: `.boards` }); + + if (difficulty == 1) { // If difficulty mode is set to smart, check if there are any shot but not sunk ships + + } + + if (difficulty != 2) { // If difficulty mode is not set to Overkill + var foundAppropriateTarget = false; + + var [posX, posY] = [Math.floor(Math.random() * 10), Math.floor(Math.random() * 10)]; // Randomise first set of coordinates + + while (!foundAppropriateTarget) { // As long as no appropriate target was found + [posX, posY] = [Math.floor(Math.random() * 10), Math.floor(Math.random() * 10)]; // Randomise another set of coordinates + + // let check = checkHit(boards[0].ships, posX, posY); + let shot = boards[0].shots.find((shot) => shot.posX === posX && shot.posY === posY); + // If shot == null then the field with coordinates posX and posY was not shot at yet + + if (!shot) { + if (difficulty == 1) { // If difficulty mode is set to smart, check if the shot wasn't near any sunk ship + foundAppropriateTarget = true; + } else { // If difficulty mode is set to simple, just accept that field + foundAppropriateTarget = true; + } + } + } + + return [posX, posY]; + } else { + + } + } + + async setReady(socket) { // This makes the socket go ready in a match const gameId = socket.session.activeGame; const key = `game:${gameId}`; const hostId = (await this.redis.json.get(key, { path: '.hostId' })); @@ -297,11 +336,11 @@ export class GameInfo { } } -export function isPlayerInRoom(socket) { +export function isPlayerInRoom(socket) { // Returns true if the socket is in any socket.io room, otherwise false return !socket.rooms.size === 1; } -export function getShipsAvailable(ships) { +export function getShipsAvailable(ships) { // Returns the amount ships left for each type from list of already placed ships (can be obtained from player's board object) let shipsLeft = [4, 3, 2, 1]; ships.forEach(ship => { @@ -311,9 +350,10 @@ export function getShipsAvailable(ships) { return shipsLeft; } -export function checkHit(ships, posX, posY) { - let boardRender = []; +export function checkHit(ships, posX, posY) { // Checks if a shot at posX and posY is hit (ships is the opponent's ship list) + let boardRender = []; // Create a two-dimensional array that will contain a render of the entire enemy board + // Fill the array with false values for (let i = 0; i < 10; i++) { var array = []; for (let i = 0; i < 10; i++) { @@ -321,11 +361,12 @@ export function checkHit(ships, posX, posY) { } boardRender.push(array); } + // The array is now 10x10 filled with false values ships.forEach(ship => { let multips; - switch (ship.rot) { + switch (ship.rot) { // Set up proper multipliers for each possible rotation case 0: multips = [1, 0]; break; @@ -343,24 +384,37 @@ export function checkHit(ships, posX, posY) { break; } + // If multips[0] == 1 then each ship's field will go further by one field from left to right + // If multips[0] == -1 then each ship's field will go further by one field from right to left + // If multips[1] == 1 then each ship's field will go further by one field from top to bottom + // If multips[1] == -1 then each ship's field will go further by one field from bottom to top + + // Iterate through all ship's fields for (let i = 0; i <= ship.type; i++) { + // Calculate the X and Y coordinates of the current field, clamp them in case they overflow the array let x = clamp(ship.posX + multips[0] * i, 0, 9); let y = clamp(ship.posY + multips[1] * i, 0, 9); - boardRender[x][y] = {fieldIdx: i, originPosX: ship.posX, originPosY: ship.posY}; + boardRender[x][y] = {fieldIdx: i, originPosX: ship.posX, originPosY: ship.posY}; // Set the field in the board render } }); + // The function returns false if no ship has been hit and an array including following keys if it does: + // fieldIdx, originPosX, originPosY + // where fieldIdx is the amount of fields from the originating point of the ship (in the direction appropriate to set rotation) + // and originPosX and originPosY are the coordinates of the originating point of the ship + // the originating point of the ship is essentialy the field on which a user clicked to place a ship return boardRender[posX][posY]; } -export function validateShipPosition(ships, type, posX, posY, rot) { - if (type < 0 || type > 3 || rot < 0 || rot > 3) { - return false; +export function validateShipPosition(ships, type, posX, posY, rot) { // This function checks whether a certain position of a new ship is valid. It returns true if it is and false otherwise + if (type == null || posX == null || posY == null || rot == null || type < 0 || type > 3 || rot < 0 || rot > 3 || posX < 0 || posY < 0 || posX > 9 || posY > 9) { + return false; // Return false when any of the values is incorrect } - let boardRender = []; + let boardRender = []; // Create a two-dimensional array that will contain a render of the entire enemy board + // Fill the array with false values for (let i = 0; i < 10; i++) { var array = []; for (let i = 0; i < 10; i++) { @@ -368,11 +422,13 @@ export function validateShipPosition(ships, type, posX, posY, rot) { } boardRender.push(array); } + // The array is now 10x10 filled with false values + // Iterate through all ships that are already placed, for rendering them on the boardRender array ships.forEach(ship => { let multips; - switch (ship.rot) { + switch (ship.rot) { // Set up multipliers for each possible rotation, this basically defines the direction of the fields, depending on the rotation case 0: multips = [1, 0]; break; @@ -390,11 +446,19 @@ export function validateShipPosition(ships, type, posX, posY, rot) { break; } + // If multips[0] == 1 then each ship's field will go further by one field from left to right + // If multips[0] == -1 then each ship's field will go further by one field from right to left + // If multips[1] == 1 then each ship's field will go further by one field from top to bottom + // If multips[1] == -1 then each ship's field will go further by one field from bottom to top + + // Iterate through all ship's fields for (let i = 0; i <= ship.type; i++) { + // Set the boardRender value under the field's coordinates to true boardRender[ship.posX + multips[0] * i][ship.posY + multips[1] * i] = true; } }); + // Set up multipliers again, this time for the ship to place let multips; switch (rot) { @@ -415,21 +479,30 @@ export function validateShipPosition(ships, type, posX, posY, rot) { break; } + // Iterate through each ship's field for (let x = 0; x <= type; x++) { if (posX + multips[0] * x > 9 || posX + multips[0] * x < 0 || posY + multips[1] * x > 9 || posY + multips[1] * x < 0) { - return false; + return false; // Return false if the ship's field exceeds the boards bounderies } - let subtrahents = [[0, 0], [0, 1], [1, 0], [0, -1], [-1, 0], [1, 1], [-1, -1], [1, -1], [-1, 1]]; // Usuń cztery ostatnie elementy jeżeli chcesz by statki mogły się stykać rogami + // Set up subtrahents that we will use to calculate fields around the ship and check if they do not contain another ship to prevent ships from being placed next to each other + let subtrahents = [[0, 0], [0, 1], [1, 0], [0, -1], [-1, 0], [1, 1], [-1, -1], [1, -1], [-1, 1]]; + + // Iterate through each subtrahents set for (let y = 0; y < subtrahents.length; y++) { + + // Calculate the field's indexes const idxX = posX - subtrahents[y][0] + multips[0] * x; const idxY = posY - subtrahents[y][1] + multips[1] * x; + + // If the field's index does not exceed the boards boundaries, check whether it's set as true in the boardRender if (!(idxX < 0 || idxX > 9 || idxY < 0 || idxY > 9) && boardRender[idxX][idxY]) { - return false; + return false; // Return false if the ship is next to another } } } + // If all the checks pass, return true return true; } @@ -442,7 +515,7 @@ export function checkTurn(data, playerId) { } } -function findEmptyFields(grid, len) { +function findEmptyFields(grid, len) { // Find all empty fields in the board const shipPlacements = []; // Helper function to check if a row can be placed horizontally at a given position diff --git a/views/board.handlebars b/views/board.handlebars index eaefe36..38bf0d2 100644 --- a/views/board.handlebars +++ b/views/board.handlebars @@ -18,12 +18,12 @@

{{ t 'board.Available:' }} -

-

{{ t 'board.Sunk ships' }}

+

{{ t 'board.To sunk' }}

- {{ t 'board.Single-mastedPlu' }} 0
- {{ t 'board.Two-mastedPlu' }} 0
- {{ t 'board.Three-mastedPlu' }} 0
- {{ t 'board.Four-mastedPlu' }} 0
+ {{ t 'board.Single-mastedPlu' }} 4
+ {{ t 'board.Two-mastedPlu' }} 3
+ {{ t 'board.Three-mastedPlu' }} 2
+ {{ t 'board.Four-mastedPlu' }} 1

{{ t 'board.Your accuracy' }}

-

diff --git a/views/index.handlebars b/views/index.handlebars index d2f9e1d..9bbb3a8 100644 --- a/views/index.handlebars +++ b/views/index.handlebars @@ -4,18 +4,40 @@

{{ t 'menu.index.Select game mode' }}

-
+

{{ t 'menu.index.PvP' }}

{{ t 'menu.index.Play against another player' }}

-
-

{{ t 'menu.index.Vs AI' }}

+
+

{{ t 'menu.index.Vs AI' }}

{{ t 'menu.index.Play against the computer' }}

+
+
+

{{ t 'menu.PvE.Create' }}

+

{{ t 'menu.PvE.Choose the difficulty mode' }}

+
+
+
+ +

+ {{ t 'menu.PvE.difficulty.Simple.description' }} +

+ +
+
+
+
+
+

{{ t 'menu.PvP.PvP' }}

@@ -32,12 +54,12 @@
-
+

{{ t 'menu.PvP/Create.PvP / Create' }}

-

{{ t 'menu.PvP/Create.Room code' }}

+

{{ t 'menu.PvP/Create.Room code:' }}

{{ t 'menu.PvP/Create.Waiting for an opponent' }}

@@ -60,7 +82,7 @@
-
+

{{ t 'menu.PvP/Loading.PvP / Loading' }}

@@ -76,7 +98,7 @@
@@ -121,6 +147,9 @@ "Disconnected": "{{ t 'errors.Disconnected' }}", "Try to refresh the page if this error reoccurs": "{{ t 'errors.Try to refresh the page if this error reoccurs' }}", "Connection error": "{{ t 'errors.Connection error' }}", + "Simple description": "{{ t 'menu.PvE.difficulty.Simple.description' }}", + "Smart description": "{{ t 'menu.PvE.difficulty.Smart.description' }}", + "Overkill description": "{{ t 'menu.PvE.difficulty.Overkill.description' }}" }; diff --git a/views/layouts/main.handlebars b/views/layouts/main.handlebars index ddd66d4..9edfbc7 100644 --- a/views/layouts/main.handlebars +++ b/views/layouts/main.handlebars @@ -20,7 +20,7 @@ - +