🐛 correct a bug that made the game crash if you'd try to join a room that does not exist

docker-deployment
Vincent ASTOLFI 9 months ago
parent 1d3aa1a3fe
commit a1b824a628

@ -43,12 +43,12 @@ class Room {
if (playedCase.isPlayed === false) {
this.players.find((p) => p.id === this.ennemy).grid.cases[move.col][move.row].isPlayed = true;
ret = {isMove: true, players: this.players, isHit: playedCase.isShip,
isWin: this.checkWin(), player: this.actualPlayer}
let tmp = this.actualPlayer;
this.actualPlayer = this.ennemy;
this.ennemy = tmp;
ret = {isMove: true, players: this.players, isHit: playedCase.isShip,
isWin: this.checkWin(), player: this.actualPlayer}
}
return ret

@ -187,9 +187,20 @@ io.on("connection", (socket) => {
});
});
socket.on("ask for room", (roomId, id) => {
socket.on("ask for room", (roomId, id, callack) => {
let room = rooms.find((r) => r.id === roomId);
if (room == null) {
callack({
status: false
})
return
}
callack({
status: true
})
room.addPlayer(players.find((p) => p.id === id));
room.validBoards();

@ -34,6 +34,11 @@
background-color: rgba(0,0,0,0.4);
}
#errorHandler {
margin-top: 3%;
color: red;
}
#opponentLeftModalContent {
background-color: #fefefe;
margin: 15% auto;

@ -33,6 +33,8 @@
<button class="btn-primary" id="join" type="submit">
Join room
</button>
<div id="errorHandler"></div>
</div>
</br>

@ -43,7 +43,6 @@ socket.on("play", () => {
});
socket.on("played move", (isHit, isWin) => {
console.log("test")
const hitNotification = document.querySelector("#hit_notification");
const winNotification = document.querySelector("#win_notification");
@ -98,12 +97,20 @@ function onJoinRoom() {
const loader = document.querySelector("#loader");
const roomKey = document.querySelector("#roomKey").value;
const roomkeyHolder = document.querySelector("#roomkeyHolder");
loader.classList.add("hidden-element");
const errorHolder = document.querySelector("#errorHandler")
roomId = roomKey;
roomkeyHolder.innerHTML += `Your room key is : <strong>` + roomId + `</strong>`;
socket.emit("ask for room", roomKey, socket.id);
socket.emit("ask for room", roomKey, socket.id, (response) => {
if (response.status !== true) {
if (errorHolder.textContent == "") {
errorHolder.append("Error : Room Id don't exist")
}
} else {
loader.classList.add("hidden-element");
roomkeyHolder.innerHTML += `Your room key is : <strong>` + roomId + `</strong>`;
}
});
};
return handler;

Loading…
Cancel
Save