-
Notifications
You must be signed in to change notification settings - Fork 0
/
js.js
101 lines (94 loc) · 3.22 KB
/
js.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
var playing = false;
var score;
var action;
var timeRemaining;
var correctAnswer;
document.getElementById("startreset").onclick =
function() {
if (playing == true) {
location.reload(); //reload page
} else { //if were not playing
playing = true; //change mode to playing
score = 0;
document.getElementById("scorevalue").innerHTML = score;
generateQA();
show("time");
hide("gameover");
//change button to reset
document.getElementById("startreset").innerHTML = "Reset Game";
timeRemaining = 60;
document.getElementById("time-value").innerHTML = timeRemaining;
startCountdown();
}
}
function startCountdown() {
action = setInterval(function() {
timeRemaining -= 1;
document.getElementById("time-value").innerHTML = timeRemaining;
if (timeRemaining == 0) {
stopCountdown();
show("gameover");
document.getElementById("gameover").innerHTML = "<p>Game over!</p><p>your score is " + score + " .</p>";
hide("time");
hide("correct");
hide("wrong");
playing = false;
document.getElementById("startreset").innerHTML = "Start Game";
}
}, 1000)
}
function stopCountdown() {
clearInterval(action);
}
function hide(Id) {
document.getElementById(Id).style.display = "none";
}
function show(Id) {
document.getElementById(Id).style.display = "block";
}
function generateQA() {
var x = Math.round(9 * Math.random()) + 1;
var y = Math.round(9 * Math.random()) + 1;
correctAnswer = x * y;
document.getElementById("question").innerHTML = x + "X" + y;
var correctPosition = Math.round(3 * Math.random()) + 1;
document.getElementById("box" + correctPosition).innerHTML = correctAnswer; //fill one box with correct answer
//fill other boxes with wrong answer
var answers = [correctAnswer];
for (i = 1; i < 5; i++) {
if (i != correctPosition) {
var wrongAnswer;
do {
wrongAnswer = (Math.round(9 * Math.random()) + 1) * (Math.round(9 * Math.random()) + 1);
} while (answers.indexOf(wrongAnswer) > -1)
answers.push(wrongAnswer);
document.getElementById("box" + i).innerHTML = wrongAnswer;
}
}
}
//clicking on answer box
for (i = 1; i < 5; i++) {
document.getElementById("box" + i).onclick =
function() {
//check if we are playing
if (playing == true) {
if (this.innerHTML == correctAnswer) {
score++;
document.getElementById("scorevalue").innerHTML = score;
//show correctAnswer
show("correct");
hide("wrong");
setTimeout(function() {
hide("correct");
}, 1000)
generateQA();
} else {
show("wrong");
hide("correct");
setTimeout(function() {
hide("wrong");
}, 1000);
}
}
}
}