Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 14 additions & 3 deletions bug-beatles/Password_generator/js/script.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,17 @@ const passwordDisplay = document.querySelector("[data-password-display]");
const copyBtn = document.querySelector("[data-copy-btn]");
const copyMsg = document.querySelector("[data-copy-msg]");

// Copy password to clipboard. This will highlight the Password when copied making sure that it is copied.
copyBtn.addEventListener('click', () => {
passwordDisplay.select();
document.execCommand('copy');
copyMsg.innerText = 'Copied!';
setTimeout(() => {
copyMsg.innerText = '';
}, 1500);
});


// length
const lengthDisplay = document.querySelector("[data-length-display]");
const lengthSlider = document.querySelector("[data-length-slider]");
Expand Down Expand Up @@ -192,8 +203,8 @@ function generatePassword(){
passwordDisplay.value = password;
console.log('password :', password);



// Calculate password strength after generating the password
calcStrength(); // This shows the updated indicator
}

generateButton.addEventListener('click', generatePassword);
generateButton.addEventListener('click', generatePassword);
29 changes: 15 additions & 14 deletions bug-beatles/score-keeper-project/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,10 @@
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/css/bootstrap.min.css"
integrity="sha384-zCbKRCUGaJDkqS1kPbPd7TveP5iyJE0EjAuZQTgFLD2ylzuqKfdKlfG/eSrtxUkn" crossorigin="anonymous">
<link rel="stylesheet" href="score_keeper.css">

</head>

<body>
<!-- <div class="container-fluid text-center">
<!-- <div class="container-fluid text-center">
<div class=" ">
<img class="img-fluid rounded text-center img-css" src="https://images.unsplash.com/photo-1593786481097-cf281dd12e9e?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=870&q=80"
alt="A woman playing table tennis">
Expand Down Expand Up @@ -42,15 +41,13 @@
<button class="btn btn-primary" id="player2btn">+1 Player Two</button>
<button class="btn btn-danger" id="reset">Reset</button>
</div>

</div> -->



<div class="container ">

<div class="container">
<div class="row">
<div class="col"></div>
<div class="col">
<!-- Card for Score Keeper -->
<div class="card" style="width: 26rem;">
<img src="https://images.unsplash.com/photo-1593786481097-cf281dd12e9e?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=870&q=80"
class="card-img-top" alt="A woman playing table tennis">
Expand All @@ -75,21 +72,25 @@
<option value="11">11</option>
</select>
<div class="mt-3">
<button class="btn btn-secondary mr-2" id="player1btn" >+1 Player One</button>
<button class="btn btn-secondary mr-2" id="player1btn">+1 Player One</button>
<button class="btn btn-primary mr-2" id="player2btn">+1 Player Two</button>
<button class="btn btn-danger" id="reset">Reset</button>
</div>
</div>
</div>
</div>
<div class="col"></div>
<div class="col">
<!-- Card for Session Records -->
<div class="card mt-4">
<div class="card-body">
<h5 class="card-title">Session Records</h5>
<div id="sessionRecords"></div>
</div>
</div>
</div>
</div>
</div>


<script src="score_keeper.js"></script>


</body>

</html>
</html>
134 changes: 73 additions & 61 deletions bug-beatles/score-keeper-project/score_keeper.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,93 +4,105 @@ const resetBtn = document.querySelector("#reset");
const playerOneScore = document.querySelector("#playerOneScore");
const playerTwoScore = document.querySelector("#playerTwoScore");
const input = document.querySelector("#maxScore");
const sessionRecordsDiv = document.querySelector("#sessionRecords");

// Initialize scores and session records array
playerOneScore.value = "0";
playerTwoScore.value = "0";
let scoreOfOne = 0;
let scoreOfTwo = 0;
let winner = false ;
let winner = false;
let sessionRecords = [];

// Function to update session records
function updateSessionRecords() {
const record = {
playerOneScore: scoreOfOne,
playerTwoScore: scoreOfTwo,
date: new Date().toLocaleString() // Add current date/time
};
sessionRecords.push(record);
displaySessionRecords();
}

// Function to display session records on the UI
function displaySessionRecords() {
sessionRecordsDiv.innerHTML = ""; // Clear existing records

function scoreIncreaserbtn1(){
sessionRecords.forEach(record => {
const recordElement = document.createElement("div");
recordElement.innerHTML = `<strong>Date:</strong> ${record.date}, <strong>Player 1 Score:</strong> ${record.playerOneScore}, <strong>Player 2 Score:</strong> ${record.playerTwoScore}`;
sessionRecordsDiv.appendChild(recordElement);
});
}

// Function to increase score for player 1
function scoreIncreaserbtn1() {
scoreOfOne = parseInt(playerOneScore.value);
if(playerOneScore.value < input.value && winner === false ){
scoreOfOne += 1 ;
if (playerOneScore.value < input.value && winner === false) {
scoreOfOne += 1;
}
playerOneScore.value = `${scoreOfOne}`;
playerOneScore.innerText = `${playerOneScore.value}`;

// Check if player 1 has won
if (playerOneScore.value == input.value) {
updateSessionRecords(); // Update session records when player 1 wins
endGame();
}
}
function scoreIncreaserbtn2(){

// Function to increase score for player 2
function scoreIncreaserbtn2() {
scoreOfTwo = parseInt(playerTwoScore.value);
if(playerTwoScore.value < input.value && winner === false ){
scoreOfTwo += 1 ;
if (playerTwoScore.value < input.value && winner === false) {
scoreOfTwo += 1;
}
playerTwoScore.value = `${scoreOfTwo}`;
playerTwoScore.innerText = `${playerTwoScore.value}`;

// Check if player 2 has won
if (playerTwoScore.value == input.value) {
updateSessionRecords(); // Update session records when player 2 wins
endGame();
}
}

// Function to end the game when a player wins
function endGame() {
winner = true;
playerOneBtn.disabled = true;
playerTwoBtn.disabled = true;
}

// Event listeners for score buttons
playerOneBtn.addEventListener('click', function() {
scoreIncreaserbtn1();
});

playerTwoBtn.addEventListener('click', function() {
scoreIncreaserbtn2();
});

playerOneBtn.addEventListener('click', scoreIncreaserbtn1);
playerTwoBtn.addEventListener('click', scoreIncreaserbtn2);
// Event listener for reset button
resetBtn.addEventListener('click', function() {
reset();
});

// Function to reset scores and input
function reset() {
scoreOfOne = 0;
scoreOfTwo = 0;
input.value = "";
}

playerOneBtn.addEventListener('click' , function(e){
console.log("btn 1 clicked")
if(playerOneScore.value == input.value){
if(playerOneScore.value < playerTwoScore.value){
playerOneScore.style.color = "red";
playerTwoScore.style.color = "green";
}
else {
playerOneScore.style.color = "green";
playerTwoScore.style.color = "red" ;
}
}
if(playerOneScore.value === input.value){
playerOneBtn.classList.add("disabled");
playerTwoBtn.classList.add("disabled");
winner = true ;
}
})
playerTwoBtn.addEventListener('click' , function(e){
console.log("btn 2 clicked");
if(playerTwoScore.value == input.value ){
if(playerOneScore.value < playerTwoScore.value){
playerOneScore.style.color = "red";
playerTwoScore.style.color = "green";
}
else {
playerOneScore.style.color = "green";
playerTwoScore.style.color = "red" ;
}
}
if(playerTwoScore.value === input.value){
playerOneBtn.classList.add("disabled");
playerTwoBtn.classList.add("disabled");
winner = true ;
}
})

resetBtn.addEventListener('click' , function(e){
console.log("btn reset clicked");
playerOneScore.value = "0";
playerTwoScore.value = "0";
input.value = "";
playerOneScore.innerText = `${playerOneScore.value}`;
playerTwoScore.innerText = `${playerTwoScore.value}`;
playerOneScore.style.color = "black";
playerTwoScore.style.color = "black";
playerOneBtn.classList.remove("disabled");
playerTwoBtn.classList.remove("disabled");
winner = false ;

})





playerOneBtn.disabled = false;
playerTwoBtn.disabled = false;
winner = false;
displaySessionRecords(); // Update UI to clear input values
}