1
+ <!DOCTYPE html>
2
+ < html lang ="en ">
3
+
4
+ < head >
5
+ < meta charset ="UTF-8 " />
6
+ < meta name ="viewport " content ="width=device-width, initial-scale=1.0 " />
7
+ < title > 🏴‍☠️ Complete Javascripts Course</ title >
8
+ < link href ="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css " rel ="stylesheet "
9
+ integrity ="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh " crossorigin ="anonymous " />
10
+ < style >
11
+ .btn {
12
+ background-color : red;
13
+ text-align : center;
14
+ border-radius : 10px ;
15
+ font-size : 1em ;
16
+ padding : 15px ;
17
+ color : white;
18
+ }
19
+
20
+ .btn : hover {
21
+ background-color : crimson;
22
+ }
23
+
24
+ .gameTile {
25
+ display : inline-block;
26
+ padding : 3px ;
27
+ }
28
+
29
+ .flipImage {
30
+ max-width : 150px ;
31
+ }
32
+ </ style >
33
+ </ head >
34
+
35
+ < body >
36
+ < br />
37
+ < br />
38
+ < center >
39
+ <!-- <input type="text" id="item"> -->
40
+ < br />
41
+ < div id ="wrapper "> 📃 🏪 👾</ div >
42
+ < br />
43
+ < div id ="output "> Complete JavaScript Course </ div >
44
+ < div id ="wrapper ">
45
+ < div id ="start " class ="btn "> Start</ div >
46
+ < div id ="score "> </ div >
47
+ < div id ="message "> </ div >
48
+ < div id ="gameboard "> </ div >
49
+ </ div >
50
+ <!-- <input type="button" class="btn btn-outline-warning" onClick="lookUp()" value="Find Text"> -->
51
+
52
+ < br /> < br />
53
+ </ center >
54
+ < script >
55
+ var playLockout = false ;
56
+ var gamePlay = false ;
57
+ var tileImages = [ ] ,
58
+ tileArray = [ ] ,
59
+ tileFlippedOver = [ ] ;
60
+ var cardFlipped = - 1 ;
61
+ var timer ;
62
+ var sb = document . getElementById ( 'start' ) ;
63
+ var message = document . getElementById ( 'message' ) ;
64
+ var score = document . getElementById ( 'score' ) ;
65
+ var gameBoard = document . getElementById ( 'gameboard' ) ;
66
+ sb . addEventListener ( 'click' , startGame ) ;
67
+
68
+ function startGame ( ) {
69
+ // hide start button
70
+ sb . style . display = 'none' ;
71
+ message . innerHTML = "Its working" + gamePlay ;
72
+ if ( ! gamePlay ) {
73
+ gamePlay = true ;
74
+ buildArray ( ) ;
75
+ tileArray = tileImages . concat ( tileImages ) ;
76
+ shuffleArray ( tileArray ) ;
77
+ buildBoard ( ) ;
78
+ }
79
+ }
80
+
81
+ function buildBoard ( ) {
82
+ var html = "" ;
83
+ var x = 0 ;
84
+ tileArray . forEach ( function ( ele ) {
85
+ x ++ ;
86
+ html += '<div class="gameTile">' ;
87
+ html += '<img id="cardz' + x +
88
+ '" src="http://via.placeholder.com/250/000000/ffffff?text=click" onclick="pickCard(' + ( x -
89
+ 1 ) +
90
+ ',this)" class="flipImage"></div>' ;
91
+ } ) ;
92
+ gameBoard . innerHTML = html ;
93
+ }
94
+
95
+ function pickCard ( i , t ) {
96
+ console . log ( event . target ) ;
97
+ if ( cardFlipped >= 0 ) {
98
+ cardFlip ( i , t ) ;
99
+ if ( checkSrc ( tileFlippedOver [ tileFlippedOver . length - 1 ] ) == checkSrc ( tileFlippedOver [ tileFlippedOver
100
+ . length -
101
+ 2 ] ) ) {
102
+ message . innerHTML = "Match Found" ;
103
+ } else {
104
+ message . innerHTML = "No Match" ;
105
+ timer = setInterval ( hideCard , 1000 ) ;
106
+ }
107
+ //check to see if its a match
108
+ } else {
109
+ cardFlipped = i ;
110
+ cardFlip ( i , t ) ;
111
+ }
112
+ }
113
+
114
+ function hideCard ( ) { }
115
+
116
+ function checkSrc ( a ) {
117
+ return document . getElementById ( a ) . src ;
118
+ }
119
+
120
+ function cardFlip ( i , t ) {
121
+ t . src = "http://via.placeholder.com/250/ffffff/000000?text=" + tileArray [ i ] ;
122
+ tileFlippedOver . push ( t . id ) ;
123
+ }
124
+
125
+ function buildArray ( ) {
126
+ for ( var x = 1 ; x < 7 ; x ++ ) {
127
+ tileImages . push ( x + '.jpg' ) ;
128
+ }
129
+ }
130
+
131
+ function shuffleArray ( array ) {
132
+ for ( var x = array . length - 1 ; x > 0 ; x -- ) {
133
+ var holder = Math . floor ( Math . random ( ) * ( x + 1 ) ) ;
134
+ var itemValue = array [ x ] ;
135
+ array [ x ] = array [ holder ] ;
136
+ array [ holder ] = itemValue ;
137
+ }
138
+ return array ;
139
+ }
140
+ </ script >
141
+
142
+
143
+
144
+ < script src ="https://code.jquery.com/jquery-3.5.0.js "
145
+ integrity ="sha256-r/AaFHrszJtwpe+tHyNi/XCfMxYpbsRg2Uqn0x3s2zc= " crossorigin ="anonymous "> </ script >
146
+ < script src ="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js "> </ script >
147
+ < script src ="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.bundle.min.js "> </ script >
148
+ </ body >
149
+
150
+ </ html >
0 commit comments