Error if game already started or more than 4 players

This commit is contained in:
Administrator 2021-06-18 10:19:03 +02:00
parent 73ced0222f
commit 0287f8aec0
6 changed files with 39 additions and 18 deletions

View File

@ -59,7 +59,7 @@ io.on('connection', socket => {
generate_log_message(socket.room, socket.username, "JOINED", ""); generate_log_message(socket.room, socket.username, "JOINED", "");
} else { } else {
// TODO io.to(socket.id).emit('error', 'Game started already or room has two many members');
} }
}); });
@ -101,7 +101,7 @@ io.on('connection', socket => {
generate_log_message(socket.room, socket.username, "DICE", randomNumber); generate_log_message(socket.room, socket.username, "DICE", randomNumber);
} else { } else {
// TODO io.to(socket.id).emit('error', 'It\'s not your turn');
} }
} }
}); });
@ -113,7 +113,7 @@ io.on('connection', socket => {
generate_log_message(socket.room, socket.username, "CARD", difficulty); generate_log_message(socket.room, socket.username, "CARD", difficulty);
} else { } else {
// TODO io.to(socket.id).emit('error', 'It\'s not your turn');
} }
} }
}); });
@ -157,6 +157,9 @@ function generate_log_message(room, user, type, message) {
case 'DICE': case 'DICE':
color = '\x1b[34m'; color = '\x1b[34m';
break; break;
case 'MOVE':
color = '\x1b[30m';
break;
default: default:
color = '\x1b[0m'; color = '\x1b[0m';
} }

View File

@ -1,3 +1,7 @@
#error {
color: red;
}
#login { #login {
background: #212121; background: #212121;
height: 100%; height: 100%;

View File

@ -24,6 +24,7 @@
<main> <main>
<div id="login"> <div id="login">
<form> <form>
<h2 id="error"></h2>
<label for="username">Benutzername: </label> <label for="username">Benutzername: </label>
<input id="username" name="username" placeholder="Benutzername" type="text"> <input id="username" name="username" placeholder="Benutzername" type="text">

View File

@ -2,15 +2,29 @@ let socket;
let connected = false; let connected = false;
function start_chat() { function start_chat() {
socket = io("/", {
closeOnBeforeunload: false
});
socket.on('login', function () { socket.on('login', function () {
connected = true; connected = true;
document.getElementById('login').style.display = 'none';
document.getElementById('game').style.display = 'flex';
document.getElementById('chat').style.display = 'flex';
start_chat();
start_game();
resize();
addLogMessage("Welcome " + username + "!"); addLogMessage("Welcome " + username + "!");
}); });
socket.on('error', function (data) {
if (data === 'Game started already or room has two many members') {
document.getElementById('login').style.display = 'flex';
document.getElementById('game').style.display = 'none';
document.getElementById('chat').style.display = 'none';
document.getElementById('error').innerText = data;
}
console.log(data);
});
socket.on('new message', function (data) { socket.on('new message', function (data) {
addChatMessage(data); addChatMessage(data);
}); });
@ -22,9 +36,6 @@ function start_chat() {
socket.on('user left', function (data) { socket.on('user left', function (data) {
addLogMessage(data + ' left'); addLogMessage(data + ' left');
}); });
// Login
socket.emit('add user', {'username': username, 'room_name': room_name});
} }
function sendMessage() { function sendMessage() {

View File

@ -73,7 +73,7 @@ function start_game() {
// Card stacks // Card stacks
let cards_1 = generate_card_stack(PIXI.Sprite.from('/img/card_stack.png'), 3, 3, function () { let cards_1 = generate_card_stack(PIXI.Sprite.from('/img/card_stack.png'), 3, 3, function () {
if (!show_card && rolled_number === 1) { if (diced && !show_card && rolled_number === 1) {
console.log("1"); console.log("1");
socket.emit('get card', 1); socket.emit('get card', 1);
} }
@ -81,7 +81,7 @@ function start_game() {
app.stage.addChild(cards_1); app.stage.addChild(cards_1);
let cards_2 = generate_card_stack(PIXI.Sprite.from('/img/card_stack.png'), 5, 3, function () { let cards_2 = generate_card_stack(PIXI.Sprite.from('/img/card_stack.png'), 5, 3, function () {
if (!show_card && rolled_number === 2) { if (diced && !show_card && rolled_number === 2) {
console.log("2"); console.log("2");
socket.emit('get card', 2); socket.emit('get card', 2);
} }
@ -89,7 +89,7 @@ function start_game() {
app.stage.addChild(cards_2); app.stage.addChild(cards_2);
let cards_3 = generate_card_stack(PIXI.Sprite.from('/img/card_stack.png'), 7, 3, function () { let cards_3 = generate_card_stack(PIXI.Sprite.from('/img/card_stack.png'), 7, 3, function () {
if (!show_card && rolled_number === 3) { if (diced && !show_card && rolled_number === 3) {
console.log("3"); console.log("3");
socket.emit('get card', 3); socket.emit('get card', 3);
} }

View File

@ -10,10 +10,12 @@ document.getElementById('ok').addEventListener('click', function () {
username = document.getElementById('username').value; username = document.getElementById('username').value;
room_name = document.getElementById('room').value; room_name = document.getElementById('room').value;
document.getElementById('login').style.display = 'none'; socket = io("/", {
document.getElementById('game').style.display = 'flex'; closeOnBeforeunload: false
document.getElementById('chat').style.display = 'flex'; });
start_chat(); start_chat();
start_game();
resize(); // Login
socket.emit('add user', {'username': username, 'room_name': room_name});
}); });