You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
130 lines
2.9 KiB
130 lines
2.9 KiB
|
|
|
|
function show(id){
|
|
document.getElementById(id).style.display = "block";
|
|
}
|
|
|
|
function hide(id){
|
|
document.getElementById(id).style.display = "none";
|
|
}
|
|
|
|
function message(text){
|
|
alert(text);
|
|
}
|
|
|
|
function getValue(id){
|
|
return document.getElementById(id).value;
|
|
}
|
|
|
|
function getUserName(){
|
|
if (userName == "") {
|
|
userName = document.getElementById("nickname").value;
|
|
}
|
|
return userName;
|
|
}
|
|
|
|
function resetMenu(){
|
|
const children = document.getElementById("menu").children;
|
|
Array.from(children).forEach(child => {
|
|
if (child.tagName == "DIV") {
|
|
child.style.display = "none";
|
|
}
|
|
});
|
|
}
|
|
|
|
function setText(id, text){
|
|
document.getElementById(id).innerHTML = text;
|
|
}
|
|
|
|
function playLocal(){
|
|
location.href = "./local.html";
|
|
}
|
|
|
|
function createGame(){
|
|
|
|
if(getUserName() == ""){
|
|
alert("musíš zadat přezdívku");
|
|
return;
|
|
}
|
|
setText("loaderText", "Zakládám hru");
|
|
hide("main-menu");
|
|
show("loader");
|
|
socket.emit("createGameRequest", {userName}, (response) => {
|
|
if(response.status == "success"){
|
|
hide("loader");
|
|
show("lobby");
|
|
setText("whitePlayer", userName);
|
|
setText("inviteCode", response.inviteCode);
|
|
}else{
|
|
alert("fck");
|
|
}
|
|
});
|
|
}
|
|
|
|
function joinWithCode(){
|
|
if(getUserName() == ""){
|
|
alert("musíš zadat přezdívku");
|
|
return;
|
|
}
|
|
hide("main-menu");
|
|
show("code-entry");
|
|
}
|
|
|
|
function confirmJoinWithCode(){
|
|
inviteCode = getValue("code");
|
|
|
|
if(inviteCode == ""){
|
|
message("zadej musíš zadat kód hry");
|
|
return;
|
|
}
|
|
|
|
|
|
setText("loaderText", "Hledám Hru");
|
|
resetMenu();
|
|
show("loader");
|
|
|
|
socket.emit("joinWithCodeRequest", {userName, inviteCode}, (response) =>{
|
|
switch(response.status){
|
|
case "error":
|
|
resetMenu();
|
|
setText("errorMessage", response.message);
|
|
show("alert");
|
|
break;
|
|
case "success":
|
|
resetMenu();
|
|
show("lobby");
|
|
|
|
const whitePlayerName = (response.playerSwap) ? response.player2_name : response.player1_name;
|
|
const blackPlayerName = (response.playerSwap) ? response.player1_name : response.player2_name;
|
|
|
|
setText("whitePlayer", whitePlayerName);
|
|
setText("blackPlayer", blackPlayerName);
|
|
setText("inviteCode", response.inviteCode);
|
|
show("lobby");
|
|
}
|
|
|
|
})
|
|
|
|
|
|
}
|
|
|
|
function backToMainMenu(){
|
|
resetMenu();
|
|
show("main-menu");
|
|
}
|
|
|
|
socket.on('playerJoinGame', ({player1_name, player1_name, player2_name, playerSwap}) => {
|
|
|
|
const whitePlayerName = (playerSwap) ? player2_name : player1_name;
|
|
const blackPlayerName = (playerSwap) ? player1_name : player2_name;
|
|
|
|
setText("whitePlayer", whitePlayerName);
|
|
setText("blackPlayer", blackPlayerName);
|
|
|
|
|
|
})
|
|
|
|
|
|
show("main-menu");
|
|
hide("game");
|
|
|
|
|