-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathgame.js
More file actions
104 lines (73 loc) · 2.5 KB
/
game.js
File metadata and controls
104 lines (73 loc) · 2.5 KB
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
alert("Welcome to the Simon Game! please check how to play the game first ");
function playIntro(){
var audio = new Audio("sounds/intro.mp3")
audio.play();
}
$("h1").css("color","yellow");
var buttonsColor=["red", "green","blue","yellow"];
var gamePattern=[];
var userClickedPattern=[];
var started = false;
var level =0;
$(document).keypress(function(){
if(!started){
nextSequence();
started=true;
}
})
$(".btn").click(function(){
var userChosenColor = this.id;
userClickedPattern.push(userChosenColor);
playSound(userChosenColor);
animatePress(userChosenColor);
checkAnswer(userClickedPattern.length-1);
});
//1. Create a new function called checkAnswer(), it should take one input with the name currentLevel
function checkAnswer(currentLevel) {
//3. Write an if statement inside checkAnswer() to check if the most recent user answer is the same as the game pattern. If so then log "success", otherwise log "wrong".
if (gamePattern[currentLevel] === userClickedPattern[currentLevel]) {
//4. If the user got the most recent answer right in step 3, then check that they have finished their sequence with another if statement.
if (userClickedPattern.length === gamePattern.length){
//5. Call nextSequence() after a 1000 millisecond delay.
setTimeout(function () {
nextSequence();
}, 1000);
}
} else {
$("#level-title").text("Game Over! Press any key to start");
var audio = new Audio("sounds/dilwale.mp3")
audio.play();
$("body").addClass("game-over");
$(document).keypress(function(){
$("body").removeClass("game-over");
audio.pause();
})
startOver();
}
}
function startOver(){
level =0;
gamePattern =[];
started =false;
}
function nextSequence(){
userClickedPattern = [];
level++;
$("#level-title").text("Level " + level);
var randomNumber =Math.random()*4;
randomNumber=Math.floor(randomNumber);
var randomChosenColor =buttonsColor[randomNumber];
gamePattern.push(randomChosenColor);
$("#" + randomChosenColor).fadeIn(100).fadeOut(100).fadeIn(100);
playSound(randomChosenColor);
}
function playSound(name){
var audio = new Audio("sounds/" + name + ".mp3")
audio.play();
}
function animatePress(currentColor){
$("#" + currentColor).addClass("pressed");
setTimeout(function(){
$("#" + currentColor).removeClass("pressed");
},100);
}