/**************************************************
** GAME VARIABLES
**************************************************/
var socket; // Socket
var gameInfos;
/**************************************************
** GAME INITIALISATION
**************************************************/
var disconnect = true;
var scoreAdversaire = 0;
var pseudo ='';
var reponseUser = -1, bonneReponse;
function init() {
var hostname = $('script')[1]['src'].match(/http:\/\/(.+)\:/)[1];
// Connexion à socket.io
socket = io.connect('http://'+hostname+':8000');
// Gestion des evenements
setEventHandlers();
// On demande le pseudo a l'utilisateur, on l'envoie au serveur et on l'affiche dans le titre
$("#game").html("");
$("#start").on("click", function() {
pseudo = $("#pseudo").val();
socket.emit('nouveau', pseudo);
document.title = $("#pseudo").val() + ' - ' + document.title;
$("#game").html("Recherche d'un adversaire...");
});
$("#pseudo").on('keypress', function(event) {
if(event.which == 13) {
pseudo = $("#pseudo").val();
socket.emit('nouveau', pseudo);
document.title = $("#pseudo").val() + ' - ' + document.title;
$("#game").html("Recherche d'un adversaire...");
}
});
};
/**************************************************
** GAME EVENT HANDLERS
**************************************************/
var setEventHandlers = function() {
socket.on("message", onMessage);
socket.on("autres", onAutres);
socket.on("game", onGame);
socket.on("questions", play);
socket.on("lolheded", endGame);
socket.on("end", onEnd);
socket.on("qpass", function() {
reponseUser = -1;
checkAnswer();
})
};
function onEnd(score) {
disconnect = false;
scoreAdversaire = score;
endGame();
}
function onGame(game) {
gameInfos = game;
$("#game").html("Adversaire trouvé : "+game[0]+"
Début de la partie dans 5s.");
window.setTimeout(function() {
socket.emit('start', gameInfos[1])
}, 5000);
}
function onMessage(message) {
alert(message);
};
function onAutres(pseudo) {
alert("Voici un nouveau joueur : " + pseudo);
};
/**************************************************
** GAME ENGINE (SORT OF)
**************************************************/
// IDs
var id_cat = 0, id_theme = 0, id_quest = 0;
// Shortcuts
var json, category, theme;
// Timer
var timing = 5, secRestantes, timer;
var baseWidth;
var score = 0;
var canClick = true;
function apiReq() {
$.ajax({
async: false,
url: "../../api/",
dataType: 'json',
success: function(data) {
json = data;
}
});
}
function loadCat(id) {
if(id === 0) category = json.cat1;
if(id === 1) category = json.cat2;
console.log(category);
$("#game").html("
Catégorie : "+category.nom_cat+"
"); $("#game").append(""); $("#game").append(""); $("#game").append(""); loadTheme(id_theme); } function loadTheme(id) { theme = category.themes[id]; $("#theme").html(""); $("#theme").append("En attente de l'adversaire...
"); // On indique au serveur qu'on a fini var options = [gameInfos[1], score]; socket.emit('findugame', options); } function endGame() { stopTimer(); $("#game").html("");
if(disconnect) {
$("#game").append(gameInfos[0]+" s'est déconnecté.");
} else {
$("#game").append("Votre adversaire a marqué "+scoreAdversaire+" miams.
Le gagnant est... ");
if(score > scoreAdversaire) {
$("#game").append(pseudo+" (vous).");
} else if(score < scoreAdversaire) {
$("#game").append(gameInfos[0]+".");
} else {
$("#game").append("personne (égalité).");
}
}
$("#game").append("