File tree Expand file tree Collapse file tree 6 files changed +274
-0
lines changed Expand file tree Collapse file tree 6 files changed +274
-0
lines changed Original file line number Diff line number Diff line change 1+ <!DOCTYPE html>  
2+ < html > 
3+   < head > 
4+     < title > Pomodoro Timer</ title > 
5+     < link  rel ="stylesheet " type ="text/css " href ="style.css " /> 
6+   </ head > 
7+   < body > 
8+     < div  class ="container "> 
9+       < h1  class ="title "> Pomodoro Timer</ h1 > 
10+       < p  id ="timer " class ="timer "> 25:00</ p > 
11+       < div  class ="button-wrapper "> 
12+         < button  id ="start " class ="button button--start "> Start</ button > 
13+         < button  id ="stop " class ="button button--stop "> Stop</ button > 
14+         < button  id ="reset " class ="button button--reset "> Reset</ button > 
15+       </ div > 
16+     </ div > 
17+     < script  src ="index.js "> </ script > 
18+   </ body > 
19+ </ html > 
Original file line number Diff line number Diff line change 1+ const  startEl  =  document . getElementById ( "start" ) ; 
2+ const  stopEl  =  document . getElementById ( "stop" ) ; 
3+ const  resetEl  =  document . getElementById ( "reset" ) ; 
4+ const  timerEl  =  document . getElementById ( "timer" ) ; 
5+ 
6+ let  intervalId ; 
7+ let  timeLeft  =  1500 ;  // 25 minutes in seconds 
8+ 
9+ function  updateTimer ( )  { 
10+   let  minutes  =  Math . floor ( timeLeft  /  60 ) ; 
11+   let  seconds  =  timeLeft  %  60 ; 
12+   let  formattedTime  =  `${ minutes . toString ( ) . padStart ( 2 ,  "0" ) } ${ seconds  
13+     . toString ( )  
14+     . padStart ( 2 ,  "0" ) }  `; 
15+   // padStart() is a built-in method in JavaScript that allows you to pad a string with another string until it reaches a specified length. It's often used to format strings to a specific length, such as adding leading zeros to a number. 
16+   //   const str = '7'; 
17+   // const paddedStr = str.padStart(2, '0'); 
18+ 
19+   // console.log(paddedStr); // Output: '07' 
20+ 
21+   timerEl . innerHTML  =  formattedTime ; 
22+ } 
23+ 
24+ function  startTimer ( )  { 
25+   intervalId  =  setInterval ( ( )  =>  { 
26+     timeLeft -- ; 
27+     updateTimer ( ) ; 
28+     if  ( timeLeft  ===  0 )  { 
29+       clearInterval ( intervalId ) ; 
30+       alert ( "Time's up!" ) ; 
31+     } 
32+   } ,  1000 ) ; 
33+ } 
34+ 
35+ function  stopTimer ( )  { 
36+   clearInterval ( intervalId ) ; 
37+ } 
38+ 
39+ function  resetTimer ( )  { 
40+   clearInterval ( intervalId ) ; 
41+   timeLeft  =  1500 ; 
42+   updateTimer ( ) ; 
43+ } 
44+ 
45+ startEl . addEventListener ( "click" ,  startTimer ) ; 
46+ stopEl . addEventListener ( "click" ,  stopTimer ) ; 
47+ resetEl . addEventListener ( "click" ,  resetTimer ) ; 
Original file line number Diff line number Diff line change 1+ /* Pomodoro Timer styles */ 
2+ 
3+ .container  {
4+   font-family :  "Roboto" ,  Arial,  Helvetica,  sans-serif;
5+   margin :  0  auto;
6+   max-width :  400px  ;
7+   padding :  20px  ;
8+   text-align :  center;
9+ }
10+ 
11+ .title  {
12+   font-size :  36px  ;
13+   margin-bottom :  10px  ;
14+   color :  # 2c3e50
15+ }
16+ 
17+ .timer  {
18+   font-size :  72px  ;
19+   color :  # 2c3e50
20+ }
21+ 
22+ .button-wrapper  {
23+   display :  flex;
24+   justify-content :  center;
25+ }
26+ 
27+ .button  {
28+   border :  none;
29+   border-radius :  4px  ;
30+   color :  # fff
31+   font-size :  18px  ;
32+   font-weight :  bold;
33+   margin-right :  10px  ;
34+   padding :  10px   20px  ;
35+   text-transform :  uppercase;
36+   transition :  all 0.2s  ;
37+   cursor :  pointer;
38+ }
39+ 
40+ .button--start  {
41+   background-color :  # 27ae60
42+ }
43+ 
44+ .button--start : hover  {
45+   background-color :  # 229954
46+ }
47+ 
48+ .button--stop  {
49+   background-color :  # c0392b
50+ }
51+ 
52+ .button--stop : hover  {
53+   background-color :  # a93226
54+ }
55+ 
56+ .button--reset  {
57+   background-color :  # 7f8c8d
58+ }
59+ 
60+ .button--reset : hover  {
61+   background-color :  # 6c7a7d
62+ }
Original file line number Diff line number Diff line change 1+ <!DOCTYPE html>  
2+ < html > 
3+   < head > 
4+     < title > Rock Paper Scissors</ title > 
5+     < meta  charset ="UTF-8 " /> 
6+     < meta  name ="viewport " content ="width=device-width, initial-scale=1.0 " /> 
7+     < link  rel ="stylesheet " type ="text/css " href ="style.css " /> 
8+   </ head > 
9+   < body > 
10+     < h1 > Rock Paper Scissors Game</ h1 > 
11+     < p > Choose your move:</ p > 
12+     < div  class ="buttons "> 
13+       < button  id ="rock "> 👊</ button > 
14+       < button  id ="paper "> 🖐</ button > 
15+       < button  id ="scissors "> ✌</ button > 
16+ 
17+       <!--  HTML entities are used to display the icons. --> 
18+     </ div > 
19+     < p  id ="result "> </ p > 
20+     < p  id ="scores "> 
21+       Your score: < span  id ="player-score "> 0</ span >  Computer's score:
22+       < span  id ="computer-score "> 0</ span > 
23+     </ p > 
24+ 
25+     < script  src ="index.js "> </ script > 
26+   </ body > 
27+ </ html > 
Original file line number Diff line number Diff line change 1+ const  buttons  =  document . querySelectorAll ( "button" ) ; 
2+ let  playerScore  =  0 ; 
3+ let  computerScore  =  0 ; 
4+ 
5+ buttons . forEach ( ( button )  =>  { 
6+   button . addEventListener ( "click" ,  ( )  =>  { 
7+     playRound ( button . id ,  computerPlay ( ) ) ; 
8+   } ) ; 
9+ } ) ; 
10+ 
11+ function  computerPlay ( )  { 
12+   const  choices  =  [ "rock" ,  "paper" ,  "scissors" ] ; 
13+   return  choices [ Math . floor ( Math . random ( )  *  choices . length ) ] ; 
14+ } 
15+ 
16+ function  playRound ( playerSelection ,  computerSelection )  { 
17+   if  ( playerSelection  ===  computerSelection )  { 
18+     document . getElementById ( "result" ) . textContent  =  "Tie game!" ; 
19+   }  else  if  ( 
20+     ( playerSelection  ===  "rock"  &&  computerSelection  ===  "scissors" )  || 
21+     ( playerSelection  ===  "paper"  &&  computerSelection  ===  "rock" )  || 
22+     ( playerSelection  ===  "scissors"  &&  computerSelection  ===  "paper" ) 
23+   )  { 
24+     playerScore ++ ; 
25+     document . getElementById ( 
26+       "result" 
27+     ) . textContent  =  `You win! ${ playerSelection } ${ computerSelection }  ; 
28+   }  else  { 
29+     computerScore ++ ; 
30+     document . getElementById ( 
31+       "result" 
32+     ) . textContent  =  `You lose! ${ computerSelection } ${ playerSelection }  ; 
33+   } 
34+   updateScore ( ) ; 
35+ } 
36+ 
37+ function  updateScore ( )  { 
38+   document . getElementById ( 
39+     "player-score" 
40+   ) . textContent  =  `Your score: ${ playerScore }  ; 
41+   document . getElementById ( 
42+     "computer-score" 
43+   ) . textContent  =  `Computer's score: ${ computerScore }  ; 
44+ } 
Original file line number Diff line number Diff line change 1+ * 
2+   box-sizing :  border-box;
3+ }
4+ 
5+ body  {
6+   background-color :  # f1f1f1
7+   font-family :  Arial,  sans-serif;
8+   margin :  0 ;
9+   padding :  0 ;
10+ }
11+ 
12+ h1  {
13+   font-size :  2rem  ;
14+   text-align :  center;
15+   padding-top :  100px  ;
16+ }
17+ 
18+ p  {
19+   font-size :  1.2rem  ;
20+   margin-bottom :  0.5rem  ;
21+   text-align :  center;
22+ }
23+ 
24+ .buttons  {
25+   display :  flex;
26+   justify-content :  center;
27+ }
28+ 
29+ button  {
30+   border :  none;
31+   border-radius :  5px  ;
32+   color :  white;
33+   cursor :  pointer;
34+   font-size :  3rem  ;
35+   margin :  0  0.5rem  ;
36+   padding :  0.5rem  ;
37+   transition :  all 0.3s   ease-in-out;
38+ }
39+ 
40+ button : hover  {
41+   opacity :  0.7 ;
42+ }
43+ 
44+ # rock  {
45+   background-color :  # f44336/* Red */ 
46+ }
47+ 
48+ # paper  {
49+   background-color :  # 2196f3/* Blue */ 
50+ }
51+ 
52+ # scissors  {
53+   background-color :  # 4caf50/* Green */ 
54+ }
55+ 
56+ # result  {
57+   font-size :  1.5rem  ;
58+   font-weight :  bold;
59+   margin :  1rem   0 ;
60+ }
61+ 
62+ # scores  {
63+   font-size :  1.2rem  ;
64+   font-weight :  bold;
65+   text-align :  center;
66+ }
67+ 
68+ # player-score  {
69+   color :  # 4caf50
70+   margin-right :  0.5rem  ;
71+ }
72+ 
73+ # computer-score  {
74+   color :  # f44336
75+ }
 
 
   
 
     
   
   
          
    
    
     
    
      
     
     
    You can’t perform that action at this time.
  
 
    
  
    
      
        
     
       
      
     
   
 
    
    
  
 
  
 
     
    
0 commit comments