|
@@ -8,6 +8,7 @@ var baseWidth;
|
8
|
8
|
|
9
|
9
|
var score = 0;
|
10
|
10
|
var reponseUser = -1, bonneReponse;
|
|
11
|
+var canClick = true;
|
11
|
12
|
|
12
|
13
|
function apiReq() {
|
13
|
14
|
$.ajax({
|
|
@@ -27,7 +28,7 @@ function loadCat(id) {
|
27
|
28
|
$("#game").html("<p id=\"category\">Catégorie : "+category.nom_cat+"</p>");
|
28
|
29
|
$("#game").append("<div id=\"theme\"></div>");
|
29
|
30
|
$("#game").append("<div id=\"timer\" style=\"width:100%;height:20px;background:green\"></div>");
|
30
|
|
- $("#game").append("<div id=\"score\"></div>");
|
|
31
|
+ $("#game").append("<div id=\"score\">Score : "+score+"</div>");
|
31
|
32
|
loadTheme(id_theme);
|
32
|
33
|
}
|
33
|
34
|
|
|
@@ -45,15 +46,21 @@ function quest(id) {
|
45
|
46
|
bonneReponse = parseInt(theme.questions[id].bonneReponse);
|
46
|
47
|
console.info('Question ' + (id_quest + 1) + '/' + theme.questions.length + ' : '
|
47
|
48
|
+theme.questions[id].intitule);
|
48
|
|
- $("#rep1").off('click');
|
49
|
|
- $("#rep1").on("click", function() { reponseUser = 1; checkAnswer(); });
|
50
|
|
- $("#rep2").off('click');
|
51
|
|
- $("#rep2").on("click", function() { reponseUser = 2; checkAnswer(); });
|
52
|
|
- $("#both").off('click');
|
53
|
|
- $("#both").on("click", function() { reponseUser = 0; checkAnswer(); });
|
|
49
|
+ if(canClick) {
|
|
50
|
+ $("#rep1").off('click');
|
|
51
|
+ $("#rep1").one("click", function() { reponseUser = 1; checkAnswer(); });
|
|
52
|
+ $("#rep2").off('click');
|
|
53
|
+ $("#rep2").one("click", function() { reponseUser = 2; checkAnswer(); });
|
|
54
|
+ $("#both").off('click');
|
|
55
|
+ $("#both").one("click", function() { reponseUser = 0; checkAnswer(); });
|
|
56
|
+ }
|
54
|
57
|
}
|
55
|
58
|
|
56
|
59
|
function checkAnswer() {
|
|
60
|
+ canClick = false;
|
|
61
|
+ $("#rep1").off('click');
|
|
62
|
+ $("#rep2").off('click');
|
|
63
|
+ $("#both").off('click');
|
57
|
64
|
stopTimer();
|
58
|
65
|
if(reponseUser == bonneReponse) {
|
59
|
66
|
score += secRestantes+1;
|
|
@@ -80,6 +87,7 @@ function nextQuestion() {
|
80
|
87
|
$("#rep1").removeClass();
|
81
|
88
|
$("#rep2").removeClass();
|
82
|
89
|
$("#both").removeClass();
|
|
90
|
+ canClick = true;
|
83
|
91
|
// Dernière question du thème en cours
|
84
|
92
|
if((id_quest+1) == theme.questions.length) {
|
85
|
93
|
// Dernier thème de la catégorie en cours
|
|
@@ -127,27 +135,49 @@ function endGame() {
|
127
|
135
|
$("#game").html("<h2 id=\"score\">Vous avez marqué "+score+" miams</h2>"
|
128
|
136
|
+"<p id=\"registerScore\">Enregistrez votre score : <input type=\"text\" id=\"login\" placeholder=\"Nom ou pseudonyme\" />"
|
129
|
137
|
+"<input type=\"submit\" id=\"sendScore\" value=\"Valider\" /></p>");
|
130
|
|
- $("#sendScore").click(function() {
|
131
|
|
- addScore($("#login").val(), score);
|
132
|
|
- var message = json.message;
|
133
|
|
- $("#registerScore").fadeOut();
|
134
|
|
- console.log(message);
|
135
|
|
- if(message == "score_add_success") {
|
|
138
|
+ $("#sendScore").on('click', scoreConfirm);
|
|
139
|
+ $("#login").on('keypress', function(event) {
|
|
140
|
+ if(event.which == 13) {
|
|
141
|
+ scoreConfirm();
|
|
142
|
+ }
|
|
143
|
+ });
|
|
144
|
+}
|
|
145
|
+
|
|
146
|
+function scoreConfirm() {
|
|
147
|
+ addScore($("#login").val(), score);
|
|
148
|
+ var message = json.message;
|
|
149
|
+ $("#registerScore").fadeOut();
|
|
150
|
+ console.log(message);
|
|
151
|
+ if(message == "score_add_success") {
|
|
152
|
+ window.setTimeout(function() {
|
136
|
153
|
$("#registerScore").addClass("success");
|
137
|
154
|
$("#registerScore").html("Votre score a bien été enregistré<br />"+
|
138
|
155
|
"<a href=\"palmares.htm\">Voir les meilleurs scores</a>");
|
|
156
|
+ }, 400);
|
|
157
|
+ } else {
|
|
158
|
+ if(message === "higher_score_present") {
|
|
159
|
+ window.setTimeout(function() {
|
|
160
|
+ $("#registerScore").addClass("error");
|
|
161
|
+ $("#registerScore").html("Un score supérieur ou égal existe déjà avec ce pseudonyme<br />"
|
|
162
|
+ +"Essayez avec un autre pseudonyme : <input type=\"text\" id=\"login\" placeholder=\"Nom ou pseudonyme\" />"
|
|
163
|
+ +"<input type=\"submit\" id=\"sendScore\" value=\"Valider\" /><br />"
|
|
164
|
+ +"<a href=\"palmares.htm\">Voir les meilleurs scores</a>");
|
|
165
|
+ }, 400);
|
|
166
|
+ $("#sendScore").on('click', scoreConfirm);
|
|
167
|
+ $("#login").on('keypress', function(event) {
|
|
168
|
+ if(event.which == 13) {
|
|
169
|
+ scoreConfirm();
|
|
170
|
+ }
|
|
171
|
+ });
|
139
|
172
|
} else {
|
140
|
|
- $("#registerScore").addClass("error");
|
141
|
|
- if(message === "higher_score_present") {
|
142
|
|
- $("#registerScore").html("Un score supérieur ou égal existe déjà avec ce pseudonyme<br />"+
|
143
|
|
- "<a href=\"palmares.htm\">Voir les meilleurs scores</a>");
|
144
|
|
- } else {
|
|
173
|
+ window.setTimeout(function() {
|
|
174
|
+ $("#registerScore").addClass("error");
|
145
|
175
|
$("#registerScore").html("Une erreur est survenue ("+status.message+")<br />"+
|
146
|
176
|
"<a href=\"palmares.htm\">Voir les meilleurs scores</a>");
|
147
|
|
- }
|
|
177
|
+ }, 400);
|
148
|
178
|
}
|
149
|
|
- $("#registerScore").fadeIn();
|
150
|
|
- });
|
|
179
|
+ }
|
|
180
|
+ $("#registerScore").fadeIn();
|
151
|
181
|
}
|
152
|
182
|
|
153
|
183
|
function addScore(userLogin, userScore) {
|