-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathindex.js
142 lines (114 loc) · 3.49 KB
/
index.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
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
// var gamePattern = [];
// var userClickedPattern = [];
// var userChosenColour;
// var buttonColor =["red","blue","green","yellow"];
// var levels = 1;
// var up = 0 ;
// function nextSequence(){
// var randomNumber = Math.floor(Math.random()*4);
// var keycolor = buttonColor[randomNumber];
// gamePattern.push(keycolor);
// animatePress("#"+keycolor);
// var k = "sounds/"+keycolor+".mp3";
// playsound(k);
//
// }
// nextSequence();
// $(".btn").on("click",function(){
// var clickedbtn = $(this).attr("id");
//
// if(clickedbtn==gamePattern[up]){
// animatePress(this);
// userChosenColour=clickedbtn;
// userClickedPattern.push(userChosenColour);
// var key = "sounds/"+userChosenColour+".mp3";
// playsound(key);
// $("h1").text("Level "+levels++);
// up++;
// nextSequence();
//
// }else{
// $("h1").text("Game Over, Press Any Key to Restart");
// $("body").addClass("game-over");
// playsound("sounds/wrong.mp3");
// setTimeout($("body").removeClass("game-over"),200);
// levels=1;
// up=0;
// }
// });
//
// function playsound(name){
// var audio = new Audio(name);
// audio.play();
// }
//
// function animatePress(keypoint){
// $(keypoint).fadeOut(100).fadeIn(100);
// }
var buttonColours = ["red", "blue", "green", "yellow"];
var gamePattern = [];
var userClickedPattern = [];
var started = false;
var level = 0;
$(document).keypress(function() {
if (!started) {
$("#level-title").text("Level " + level);
nextSequence();
started = true;
}
});
$(".btn").click(function() {
var userChosenColour = $(this).attr("id");
userClickedPattern.push(userChosenColour);
playSound(userChosenColour);
animatePress(userChosenColour);
checkAnswer(userClickedPattern.length-1);
});
function checkAnswer(currentLevel) {
if (gamePattern[currentLevel] === userClickedPattern[currentLevel]) {
console.log("success");
if (userClickedPattern.length === gamePattern.length){
setTimeout(function () {
nextSequence();
}, 1000);
}
} else {
console.log("wrong");
//1. In the sounds folder, there is a sound called wrong.mp3, play this sound if the user got one of the answers wrong.
playSound("wrong");
//2. In the styles.css file, there is a class called "game-over", apply this class to the body of the website when the user gets one of the answers wrong and then remove it after 200 milliseconds.
$("body").addClass("game-over");
setTimeout(function () {
$("body").removeClass("game-over");
}, 200);
//3. Change the h1 title to say "Game Over, Press Any Key to Restart" if the user got the answer wrong.
$("#level-title").text("Game Over, Press Any Key to Restart");
startOver();
}
}
function nextSequence() {
userClickedPattern = [];
level++;
$("#level-title").text("Level " + level);
var randomNumber = Math.floor(Math.random() * 4);
var randomChosenColour = buttonColours[randomNumber];
gamePattern.push(randomChosenColour);
$("#" + randomChosenColour).fadeIn(100).fadeOut(100).fadeIn(100);
playSound(randomChosenColour);
}
function playSound(name) {
var audio = new Audio("sounds/" + name + ".mp3");
audio.play();
}
function animatePress(currentColor) {
$("#" + currentColor).addClass("pressed");
setTimeout(function () {
$("#" + currentColor).removeClass("pressed");
}, 100);
}
function startOver(){
level=0;
gamePattern=[];
userClickedPattern = [];
started = false;
}