File tree Expand file tree Collapse file tree 3 files changed +147
-0
lines changed Expand file tree Collapse file tree 3 files changed +147
-0
lines changed Original file line number Diff line number Diff line change 1+ const  squares  =  document . querySelectorAll ( ".square" ) ; 
2+ const  timeLeft  =  document . querySelector ( "#time-left" ) ; 
3+ const  score  =  document . querySelector ( "#score" ) ; 
4+ 
5+ let  result  =  0 ; 
6+ let  hitPosition ; 
7+ let  currentTime  =  60 ; 
8+ let  timerId  =  null ; 
9+ 
10+ function  randomSquare ( )  { 
11+   squares . forEach ( ( square )  =>  { 
12+     square . classList . remove ( "emoji" ) ; 
13+   } ) ; 
14+ 
15+   let  randomSqaure  =  squares [ Math . floor ( Math . random ( )  *  9 )  +  1 ] ; 
16+   randomSqaure . classList . add ( "emoji" ) ; 
17+   hitPosition  =  randomSqaure . id ; 
18+ } 
19+ 
20+ squares . forEach ( ( square )  =>  { 
21+   square . addEventListener ( "mousedown" ,  ( )  =>  { 
22+     if  ( square . id  ==  hitPosition )  { 
23+       result ++ ; 
24+       score . textContent  =  result ; 
25+       hitPosition  =  null ; 
26+     } 
27+   } ) ; 
28+ } ) ; 
29+ 
30+ function  moveEmoji ( )  { 
31+   timerId  =  setInterval ( randomSquare ,  500 ) ; 
32+ } 
33+ 
34+ moveEmoji ( ) ; 
35+ 
36+ function  countDown ( )  { 
37+   currentTime -- ; 
38+   timeLeft . textContent  =  currentTime ; 
39+ 
40+   if  ( currentTime  ==  0 )  { 
41+     clearInterval ( countDownTimerId ) ; 
42+     clearInterval ( timerId ) ; 
43+     alert ( `Game Over! Your final Score Is ${ result }  ) ; 
44+   } 
45+ } 
46+ 
47+ let  countDownTimerId  =  setInterval ( countDown ,  1000 ) ; 
Original file line number Diff line number Diff line change 1+ < html  lang ="en "> 
2+   < head > 
3+     < meta  charset ="UTF-8 " /> 
4+     < meta  http-equiv ="X-UA-Compatible " content ="IE=edge " /> 
5+     < meta  name ="viewport " content ="width=device-width, initial-scale=1.0 " /> 
6+     < title > Emoji Catcher Game</ title > 
7+     < link  rel ="stylesheet " href ="style.css " /> 
8+   </ head > 
9+   < body > 
10+     < div  class ="scores-container "> 
11+       < div  class ="total-score "> 
12+         < h2 > Your Score:</ h2 > 
13+         < h2  id ="score "> 0</ h2 > 
14+       </ div > 
15+ 
16+       < div  class ="time "> 
17+         < h2 > Time left:</ h2 > 
18+         < h2  id ="time-left "> 60</ h2 > 
19+       </ div > 
20+     </ div > 
21+ 
22+     < div  class ="grid-container "> 
23+       < div  class ="grid "> 
24+         < div  class ="square " id ="1 "> </ div > 
25+         < div  class ="square " id ="2 "> </ div > 
26+         < div  class ="square " id ="3 "> </ div > 
27+         < div  class ="square " id ="4 "> </ div > 
28+         < div  class ="square " id ="5 "> </ div > 
29+         < div  class ="square " id ="6 "> </ div > 
30+         < div  class ="square " id ="7 "> </ div > 
31+         < div  class ="square " id ="8 "> </ div > 
32+         < div  class ="square " id ="9 "> </ div > 
33+         < div  class ="square " id ="10 "> </ div > 
34+       </ div > 
35+     </ div > 
36+ 
37+     < script  src ="app.js "> </ script > 
38+   </ body > 
39+ </ html > 
Original file line number Diff line number Diff line change 1+ body  {
2+   background :  rgb (10 ,  10 ,  10 );
3+   color :  # fff
4+   font-family :  sans-serif;
5+ }
6+ 
7+ .scores-container  {
8+   display :  flex;
9+   justify-content :  center;
10+   align-items :  center;
11+ }
12+ 
13+ .total-score  {
14+   margin-right :  20px  ;
15+   margin :  20px  ;
16+   text-align :  center;
17+   background :  # ccc
18+   padding :  20px  ;
19+   color :  # 000
20+ }
21+ 
22+ .time  {
23+   margin-right :  20px  ;
24+   margin :  20px  ;
25+   text-align :  center;
26+   background :  # ccc
27+   padding :  20px  ;
28+   color :  # 000
29+ }
30+ 
31+ .grid-container  {
32+   display :  flex;
33+   justify-content :  center;
34+   align-items :  center;
35+ }
36+ 
37+ .grid  {
38+   width :  90%  ;
39+   height :  90%  ;
40+   display :  flex;
41+   flex-wrap :  wrap;
42+   justify-content :  center;
43+   align-items :  center;
44+   background-color :  rgb (36 ,  36 ,  36 );
45+   margin-top :  2rem  ;
46+   padding :  20px  ;
47+ }
48+ 
49+ .square  {
50+   height :  200px  ;
51+   width :  200px  ;
52+   margin :  10px  ;
53+   background :  rgb (61 ,  61 ,  61 );
54+ }
55+ 
56+ /* JavaScript */ 
57+ .emoji  {
58+   background-image :  url ("https://i.guim.co.uk/img/media/a1b7129c950433c9919f5670c92ef83aa1c682d9/55_344_1971_1183/master/1971.jpg?width=1200&height=900&quality=85&auto=format&fit=crop&s=88ba2531f114b9b58b9cb2d8e723abe1" );
59+   background-position :  center;
60+   background-size :  cover;
61+ }
 
 
   
 
     
   
   
          
    
    
     
    
      
     
     
    You can’t perform that action at this time.
  
 
    
  
    
      
        
     
       
      
     
   
 
    
    
  
 
  
 
     
    
0 commit comments