-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathgame.js
More file actions
65 lines (52 loc) · 1.65 KB
/
game.js
File metadata and controls
65 lines (52 loc) · 1.65 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
$(document).one( "keypress", function () {
nextSequence();
});
var gamePattern = [];
var userClickedPattern = [];
var buttonColours = [ "red", "blue", "green", "yellow" ];
var level = 0
function nextSequence () {
$( "h1" ).text( "Level " + level );
level ++;
var randomNumber = Math.floor ( Math.random () * 4 );
var randomChosenColour = buttonColours [ randomNumber ];
gamePattern.push ( randomChosenColour );
$("#" + randomChosenColour ).fadeOut(100).fadeIn(100);
playSound( randomChosenColour );
animatePress( randomChosenColour );
};
$(".btn").click ( function () {
var userChosenColour = $(this).attr("id");
userClickedPattern.push( userChosenColour );
playSound( userChosenColour );
animatePress( userChosenColour );
checkAnswer( level );
});
function playSound ( name ) {
var audio = new Audio ( "sounds/" + name + ".mp3" );
audio.play();
};
function animatePress( currentColour ) {
$("." + currentColour ).addClass( "pressed" );
setTimeout( function () {
$("." + currentColour ).removeClass( "pressed" );
}, 100 );
};
function checkAnswer ( currentLevel ) {
if ( userClickedPattern [ userClickedPattern.length - 1 ] == gamePattern [ userClickedPattern.length - 1 ] ) {
}
else {
playSound("wrong");
$("body").addClass( "game-over" );
setTimeout ( function () {
$("body").removeClass( "game-over" );
}, 200 );
$("h1").text("Game Over, Press Any Key to Restart");
};
if ( userClickedPattern.length == gamePattern.length ) {
setTimeout (function () {
nextSequence();
userClickedPattern = [];
}, 1000);
}
};