From 7d319a7d3a1d1fc0a35f2ba7860b0f7d57861e40 Mon Sep 17 00:00:00 2001 From: VVPCodes Date: Wed, 2 Nov 2022 20:24:29 -0400 Subject: [PATCH 01/11] worked on passanger counter, set up css and html, added variable in js file, added jpg asset --- .../1. Welcome to the course/index.css | 2 + .../1. Welcome to the course/index.html | 9 +++-- .../1. Welcome to the course/index.js | 2 +- .../my-work/index.css | 37 ++++++++++++++++++ .../my-work/index.html | 15 +++++++ .../my-work/index.js | 17 ++++++++ .../my-work/station.jpg | Bin 0 -> 125362 bytes 7 files changed, 78 insertions(+), 4 deletions(-) create mode 100644 1. Build a Passenger Counter App/my-work/index.css create mode 100644 1. Build a Passenger Counter App/my-work/index.html create mode 100644 1. Build a Passenger Counter App/my-work/index.js create mode 100644 1. Build a Passenger Counter App/my-work/station.jpg diff --git a/1. Build a Passenger Counter App/1. Welcome to the course/index.css b/1. Build a Passenger Counter App/1. Welcome to the course/index.css index a99ee492..9bf45931 100644 --- a/1. Build a Passenger Counter App/1. Welcome to the course/index.css +++ b/1. Build a Passenger Counter App/1. Welcome to the course/index.css @@ -1,4 +1,6 @@ html, body { margin: 0; padding: 0; + text-align: center; + font-family: 'Trebuchet MS', 'Lucida Sans Unicode', 'Lucida Grande', 'Lucida Sans', Arial, sans-serif; } \ No newline at end of file diff --git a/1. Build a Passenger Counter App/1. Welcome to the course/index.html b/1. Build a Passenger Counter App/1. Welcome to the course/index.html index 264d9b51..1a9dd6b3 100644 --- a/1. Build a Passenger Counter App/1. Welcome to the course/index.html +++ b/1. Build a Passenger Counter App/1. Welcome to the course/index.html @@ -1,9 +1,12 @@ - + + + Passanger Counter -

index.html

- +

People Entered:

+

0

+ diff --git a/1. Build a Passenger Counter App/1. Welcome to the course/index.js b/1. Build a Passenger Counter App/1. Welcome to the course/index.js index 707e5c56..78ceb154 100644 --- a/1. Build a Passenger Counter App/1. Welcome to the course/index.js +++ b/1. Build a Passenger Counter App/1. Welcome to the course/index.js @@ -1 +1 @@ -// javascript \ No newline at end of file +document.getElementById("people-count").innerText = 80; \ No newline at end of file diff --git a/1. Build a Passenger Counter App/my-work/index.css b/1. Build a Passenger Counter App/my-work/index.css new file mode 100644 index 00000000..18a5ec65 --- /dev/null +++ b/1. Build a Passenger Counter App/my-work/index.css @@ -0,0 +1,37 @@ +body { + background-image: url("./station.jpg"); + background-size: cover; + font-family: 'Trebuchet MS', 'Lucida Sans Unicode', 'Lucida Grande', 'Lucida Sans', Arial, sans-serif; + font-weight: bold; + text-align: center; +} + +h1 { + margin-top: 10px; + margin-bottom: 10px; +} + +h2 { + font-size: 50px; + margin-top: 0; + margin-bottom: 20px; +} + +button { + border: none; + padding-top: 10px; + padding-bottom: 10px; + color: white; + font-weight: bold; + width: 200px; + margin-bottom: 5px; + border-radius: 5px; +} + +#increment-btn { + background: darkred; +} + +#save-btn { + background: darkgreen; +} diff --git a/1. Build a Passenger Counter App/my-work/index.html b/1. Build a Passenger Counter App/my-work/index.html new file mode 100644 index 00000000..67f8f2df --- /dev/null +++ b/1. Build a Passenger Counter App/my-work/index.html @@ -0,0 +1,15 @@ + + + + + Passanger Counter + + +

People Entered:

+

0

+ + +

Previous entries:

+ + + diff --git a/1. Build a Passenger Counter App/my-work/index.js b/1. Build a Passenger Counter App/my-work/index.js new file mode 100644 index 00000000..a73cc96c --- /dev/null +++ b/1. Build a Passenger Counter App/my-work/index.js @@ -0,0 +1,17 @@ +// document.getElementById("count-el").innerText = 8; + +// let firstBatch = 5; +// let secondBatch = 7; +// let count = firstBatch + secondBatch; +// console.log(count); + +/* +let myAge = 31; +let humanDogRatio = 1/7; + +let myDogAge = myAge / humanDogRatio; +console.log(myDogAge); +*/ + +/* Stopped on 16.14 of the video https://www.youtube.com/watch?v=jS4aFq5-91M&list=PLkcZbH-530dSBMc1U4rrcSacI-lzJrQT9&index=9&t=8s +*/ \ No newline at end of file diff --git a/1. Build a Passenger Counter App/my-work/station.jpg b/1. Build a Passenger Counter App/my-work/station.jpg new file mode 100644 index 0000000000000000000000000000000000000000..53fac6917e7b52d30fc40b2da857dcf08e5ba8b4 GIT binary patch literal 125362 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 ` zA@9;O_d%S2T&%aC7BoxYmi%(Re&Y`H-423{~4Kyds)l6&R4K) zhi=g;b4jB6bSh4#=sq(<_}WbeBj5hVI)Yc;(lHyr`Zd~#1uu8dYe{9s=B_Qgd&Q9U3;3Z{KpUC0;dnEB_o<+eWju>6 z#8BBFTDzeb7lJ3^{@HSv5Fx8D|A^z0-;s8=Rmq(fxy zS|;YY+Vt1>=bjB-V(MYCnqr2|F9oiiWW4slAIkL)83}L0-f}@3U zTI|whS4Ya3k}V{4`w^`kb6icHELFjtf;#30>8m0-rruDV@T4(xgZXMJ(;;z2kII23 zvNL(bfAcO3-tu<4MT5BMj6aj!LvYm>Ox38tKE#eA2ey-V`HZUTcE^}lZn*nvBg8`^ z2mn0y)YCbnJUc2jC1Qxl#3mO!@bV>@M`XzZxRUaMuPCw$Gu6BQ0P~#|#mn1(wKISL zJa1J>WXZM_CqpDemp4nq67SL!JKwi zlvEPVUwm=cOZ=Ui@N58CZ?4dBvkKVfMIGv{sPx{E|8&9(KWyFShtxJkKf;kl8$acc zWAQ$Vf%x0b6`-nySo7uxhWT~_#kefv6FE+9@QfBc+`g1+6s;-A=D3$F^C(>ZpxLM@ilrUEvQQE=? zqm&Se#-HIU-??x{ZsNcJ;7W{hGsMZvxqbmGjyS}`0 zg`;139_V(!;jWUE?ql+GdPz&tmfON?bC*OkeCv3_)xWV_aMKSRgll6PE0oQ6Umzk} zDpkuWqL(LPZ9ap0OU|(FJ2ae88p%FGO06&Aa{8MW4*>cbt8!DiXPuN{0>#?6=tsSE z>h#+%$#)Z%t@_5?#Yd!ZlccC^gkDvU)aB+&!^>Y{%z0KE!J@UPS8hWXmfagrF>-GC;ct~-a znYvbdT1eKokkxzJ?;ySE72j>d9X3r(0; z-A*$u-uTFEN~7<@4w+ZAwT^sa7Qdf1sP&K&lUM4M z-*>{sVO$)H38r%k<$X885u#dZBfC;Gt8TFvq^-tnyoIRn3{O$^2d>R2dQo~1AQq-6?26h2HG=AVdA zDC&QmGUQ!J@PO7mZ*>p*FG@Mk5x@H_hkImImKL1^t@uPoWEm)S|6AhMpnN>HfN+HQ zloQ$A!Qc!W(7$KqLu%MimKAFqiZs^zW6qabjxW48KbYS}l?~km*z`que4k1|d zU}r~WnEeT|-KxJhGw1sKoaVpgGD;e5FDcQLJ6g&YxHaZJp2xCU$u@G;iv~TU{C1n^ z$DBHa~+OirD?SaH0x-x5<_Dy?L3@r9!Z-C zygBN*%U8duB{PsjOslOXy^KR_{|^vNqkS>X)|1?o4}OtG!E&5JNbmV3w2Qs0P^^r* zSMIx+EHS8mKYpwkd*CbYxs!?SLW~9c#>r~dnP{j=oZs*u$lWD~dXvISRBzQ`$T(*& z|9q#S&d-R*gRCr7;YRfHN%iLQQ^EU>41)tFTl6~28yfT(FEfpA(u^7h%?@6`xe_D7 zQ3XwM(FDe8wV0wR=>!RF9Ql@`Ju}bK_|cXfx#TfAyHT7vvv2_Wh#-x9F>&-YX!_

vr0Zt!&8T{c^QHt6E23r#k6W6Y!8 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 z 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 Date: Thu, 3 Nov 2022 19:44:20 -0400 Subject: [PATCH 02/11] made clicker function in passanger counter app --- .../my-work/index.js | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/1. Build a Passenger Counter App/my-work/index.js b/1. Build a Passenger Counter App/my-work/index.js index a73cc96c..9ace8b42 100644 --- a/1. Build a Passenger Counter App/my-work/index.js +++ b/1. Build a Passenger Counter App/my-work/index.js @@ -1,17 +1,17 @@ // document.getElementById("count-el").innerText = 8; -// let firstBatch = 5; -// let secondBatch = 7; -// let count = firstBatch + secondBatch; -// console.log(count); - +// Initialize the count as 0 +// Listen for clicks on the increment button +// Increment the count variable when the button is clicked +// change the "count-el" in the HTML to reflect the new count /* -let myAge = 31; -let humanDogRatio = 1/7; +function increment() { + console.log("The increment button was clicked"); +} -let myDogAge = myAge / humanDogRatio; -console.log(myDogAge); +function save() { + console.log("The save button was clicked"); +} */ -/* Stopped on 16.14 of the video https://www.youtube.com/watch?v=jS4aFq5-91M&list=PLkcZbH-530dSBMc1U4rrcSacI-lzJrQT9&index=9&t=8s -*/ \ No newline at end of file + From ce3cbd349ecae87da954f29f58de912d635e9e73 Mon Sep 17 00:00:00 2001 From: VVPCodes Date: Sat, 5 Nov 2022 12:42:07 -0400 Subject: [PATCH 03/11] added save btn functionality to counter --- .vscode/launch.json | 30 +++++++++++++++++++ .../my-work/index.html | 4 +-- .../my-work/index.js | 29 ++++++++++-------- 3 files changed, 48 insertions(+), 15 deletions(-) create mode 100644 .vscode/launch.json diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 00000000..e3eb9285 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,30 @@ +{ + // Use IntelliSense to learn about possible attributes. + // Hover to view descriptions of existing attributes. + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + + { + "name": "Launch Chrome", + "request": "launch", + "type": "chrome", + "url": "http://localhost:8080", + "webRoot": "${workspaceFolder}" + }, + { + "name": "Attach to Chrome", + "port": 9222, + "request": "attach", + "type": "chrome", + "webRoot": "${workspaceFolder}" + }, + { + "type": "chrome", + "request": "launch", + "name": "Launch Chrome against localhost", + "url": "http://localhost:8080", + "webRoot": "${workspaceFolder}" + } + ] +} \ No newline at end of file diff --git a/1. Build a Passenger Counter App/my-work/index.html b/1. Build a Passenger Counter App/my-work/index.html index 67f8f2df..672290c9 100644 --- a/1. Build a Passenger Counter App/my-work/index.html +++ b/1. Build a Passenger Counter App/my-work/index.html @@ -7,8 +7,8 @@

People Entered:

0

- - + +

Previous entries:

diff --git a/1. Build a Passenger Counter App/my-work/index.js b/1. Build a Passenger Counter App/my-work/index.js index 9ace8b42..ec6ddf44 100644 --- a/1. Build a Passenger Counter App/my-work/index.js +++ b/1. Build a Passenger Counter App/my-work/index.js @@ -1,17 +1,20 @@ -// document.getElementById("count-el").innerText = 8; +// let countEl = document.getElementById("count-el"); +// let count = 0; -// Initialize the count as 0 -// Listen for clicks on the increment button -// Increment the count variable when the button is clicked -// change the "count-el" in the HTML to reflect the new count -/* -function increment() { - console.log("The increment button was clicked"); -} +// function incrementButtonClick() { +// count = count + 1; +// countEl.innerText = count; +// } -function save() { - console.log("The save button was clicked"); -} -*/ +// function saveButtonClick() { +// console.log(count); +// } +let myName = 5; +let greeting = "Hi, my name is "; + +let myGreeting = greeting + myName + "!"; +console.log(myGreeting); + +// video paused at 56.39 From 65ec360771326742356d0a124dc39783322a5755 Mon Sep 17 00:00:00 2001 From: VVPCodes Date: Sun, 6 Nov 2022 16:39:31 -0500 Subject: [PATCH 04/11] finished passanger counter --- .../22. Render a welcome message/index.js | 13 +++++++ .../my-work/index.js | 35 ++++++++----------- .../1. Variables practice/index.js | 5 ++- .../index.js | 5 +++ .../3. Incrementing and decrementing/index.js | 13 +++++++ .../4. Strings and numbers/index.js | 12 +++---- .../5. Rendering an error message/index.html | 2 +- .../5. Rendering an error message/index.js | 10 +++++- .../6. Calculator challenge/index.html | 10 +++--- .../6. Calculator challenge/index.js | 23 ++++++++++++ 10 files changed, 94 insertions(+), 34 deletions(-) diff --git a/1. Build a Passenger Counter App/22. Render a welcome message/index.js b/1. Build a Passenger Counter App/22. Render a welcome message/index.js index 5781a6c2..15218e77 100644 --- a/1. Build a Passenger Counter App/22. Render a welcome message/index.js +++ b/1. Build a Passenger Counter App/22. Render a welcome message/index.js @@ -1,6 +1,19 @@ // Grab the welcome-el paragraph and store it in a variable called welcomeEl +let welcomeEl = document.getElementById("welcome-el"); // Create two variables (name & greeting) that contains your name // and the greeting we want to render on the page +let name = "Wendy" +let greeting = "Welcome back" + // Render the welcome message using welcomeEl.innerText +welcomeEl.innerText = greeting + ", " + name; + +// Add emoji to the end of the welcome message + +welcomeEl.innerText += "😎"; + + + + diff --git a/1. Build a Passenger Counter App/my-work/index.js b/1. Build a Passenger Counter App/my-work/index.js index ec6ddf44..bcb933e0 100644 --- a/1. Build a Passenger Counter App/my-work/index.js +++ b/1. Build a Passenger Counter App/my-work/index.js @@ -1,20 +1,15 @@ -// let countEl = document.getElementById("count-el"); -// let count = 0; - -// function incrementButtonClick() { -// count = count + 1; -// countEl.innerText = count; -// } - -// function saveButtonClick() { -// console.log(count); -// } - -let myName = 5; -let greeting = "Hi, my name is "; - -let myGreeting = greeting + myName + "!"; -console.log(myGreeting); - -// video paused at 56.39 - +let saveEl = document.getElementById("save-el"); +let countEl = document.getElementById("count-el"); +let count = 0; + +function incrementButtonClick() { + count += 1; + countEl.textContent = count; +} + +function saveButtonClick() { + let previousEntries = count + " - "; + saveEl.textContent += previousEntries; + count = 0; + countEl.textContent = count; +} diff --git a/2. Practice time - part 1/1. Variables practice/index.js b/2. Practice time - part 1/1. Variables practice/index.js index 5c9017d1..e9558b5b 100644 --- a/2. Practice time - part 1/1. Variables practice/index.js +++ b/2. Practice time - part 1/1. Variables practice/index.js @@ -1,7 +1,10 @@ // Create two variables, firstName and lastName +let firstName = "Wendy"; +let lastName = "Jade"; // Concatenate the two variables into a third variable called fullName +let fullName = firstName + " " + lastName; // Log fullName to the console - +console.log(fullName); diff --git a/2. Practice time - part 1/2. Contatenate two strings in a function/index.js b/2. Practice time - part 1/2. Contatenate two strings in a function/index.js index 0d77f812..d3b03683 100644 --- a/2. Practice time - part 1/2. Contatenate two strings in a function/index.js +++ b/2. Practice time - part 1/2. Contatenate two strings in a function/index.js @@ -3,3 +3,8 @@ let greeting = "Hi there" // Create a function that logs out "Hi there, Linda!" when called +function myGreeting() { + console.log(greeting + ", " + name + "!"); +} + +myGreeting(); \ No newline at end of file diff --git a/2. Practice time - part 1/3. Incrementing and decrementing/index.js b/2. Practice time - part 1/3. Incrementing and decrementing/index.js index c8ef6908..ab32f947 100644 --- a/2. Practice time - part 1/3. Incrementing and decrementing/index.js +++ b/2. Practice time - part 1/3. Incrementing and decrementing/index.js @@ -3,8 +3,21 @@ let myPoints = 3 // Create two functions, add3Points() and remove1Point(), and have them // add/remove points to/from the myPoints variable +function add3Points() { + myPoints += 3; +} +function remove1Point() { + myPoints -= 1; +} +for (i = 0; i < 3; i++) { + add3Points() +} + +for (x = 0; x < 2; x++) { + remove1Point() +} // Call the functions to that the line below logs out 10 console.log(myPoints) \ No newline at end of file diff --git a/2. Practice time - part 1/4. Strings and numbers/index.js b/2. Practice time - part 1/4. Strings and numbers/index.js index 5b65455a..13cc84a3 100644 --- a/2. Practice time - part 1/4. Strings and numbers/index.js +++ b/2. Practice time - part 1/4. Strings and numbers/index.js @@ -1,7 +1,7 @@ // Try to predict what each of the lines will log out -console.log("2" + 2) // -console.log(11 + 7) // -console.log(6 + "5") // -console.log("My points: " + 5 + 9) // -console.log(2 + 2) // -console.log("11" + "14") // +console.log("2" + 2) // 22 +console.log(11 + 7) // 18 +console.log(6 + "5") // 65 +console.log("My points: " + 5 + 9) // 59 +console.log(2 + 2) // 4 +console.log("11" + "14") // 1114 diff --git a/2. Practice time - part 1/5. Rendering an error message/index.html b/2. Practice time - part 1/5. Rendering an error message/index.html index 220b3fc7..dfc2b00e 100644 --- a/2. Practice time - part 1/5. Rendering an error message/index.html +++ b/2. Practice time - part 1/5. Rendering an error message/index.html @@ -5,7 +5,7 @@ Nike shoe

Nike shoe

- +

diff --git a/2. Practice time - part 1/5. Rendering an error message/index.js b/2. Practice time - part 1/5. Rendering an error message/index.js index 46b0ffbc..31ab7aae 100644 --- a/2. Practice time - part 1/5. Rendering an error message/index.js +++ b/2. Practice time - part 1/5. Rendering an error message/index.js @@ -1,5 +1,13 @@ // When the user clicks the purchase button, render out // "Something went wrong, please try again" in the paragraph -// that has the id="error". +// that has the id="error" + +let errorEl = document.getElementById("error"); +console.log(errorEl); + +function displayMessage() { + errorEl.textContent = "Something went wrong, please try again"; +} + diff --git a/2. Practice time - part 1/6. Calculator challenge/index.html b/2. Practice time - part 1/6. Calculator challenge/index.html index ca440294..7464c6d3 100644 --- a/2. Practice time - part 1/6. Calculator challenge/index.html +++ b/2. Practice time - part 1/6. Calculator challenge/index.html @@ -6,12 +6,12 @@
- - - - + + + +
- Sum: + \ No newline at end of file diff --git a/2. Practice time - part 1/6. Calculator challenge/index.js b/2. Practice time - part 1/6. Calculator challenge/index.js index be36a2e4..24cb9752 100644 --- a/2. Practice time - part 1/6. Calculator challenge/index.js +++ b/2. Practice time - part 1/6. Calculator challenge/index.js @@ -4,6 +4,29 @@ document.getElementById("num1-el").textContent = num1 document.getElementById("num2-el").textContent = num2 // Create four functions: add(), subtract(), divide(), multiply() + +let sumEl = document.getElementById("sum-el"); + +function add() { + numSum = num1 + num2; + sumEl.textContent = "Result: " + numSum; +} + +function subtract() { + numSub = num1 - num2; + sumEl.textContent = "Result: " + numSub; +} + +function divide() { + numDiv = num1 / num2; + sumEl.textContent = "Result: " + numDiv; +} + +function multiply() { + numMult = num1 * num2; + sumEl.textContent = "Result: " + numMult; +} + // Call the correct function when the user clicks on one of the buttons // Perform the given calculation using num1 and num2 // Render the result of the calculation in the paragraph with id="sum-el" From 2aae59f0139dede662f588333fdbb62fb4070f58 Mon Sep 17 00:00:00 2001 From: VVPCodes Date: Wed, 9 Nov 2022 20:16:08 -0500 Subject: [PATCH 05/11] started blackjack app, worked with conditionals and booleans --- .../10. Add the message variable/index.js | 12 +++++++----- .../11. Link to stylesheet/index.html | 5 ++++- .../12. Add basic styling/index.html | 4 +++- .../index.js | 6 ++++++ .../3. If...else conditionals/index.js | 13 ++++++++++--- .../4. Your first if...else statement/index.js | 5 +++++ .../5. if:else...if:else statement/index.js | 10 +++++++++- .../index.js | 8 ++++++++ .../7. Add the hasBlackJack variable/index.js | 3 +++ .../8. Add the isAlive variable/index.js | 5 ++++- .../9. Let's practice boolean conditions/index.js | 14 +++++++------- 11 files changed, 66 insertions(+), 19 deletions(-) diff --git a/3. Build a Blackjack game/10. Add the message variable/index.js b/3. Build a Blackjack game/10. Add the message variable/index.js index 73da65de..2f6e2a36 100644 --- a/3. Build a Blackjack game/10. Add the message variable/index.js +++ b/3. Build a Blackjack game/10. Add the message variable/index.js @@ -1,19 +1,21 @@ let firstCard = 10 -let secondCard = 11 -let sum = firstCard + secondCard + 4 +let secondCard = 4 +let sum = firstCard + secondCard let hasBlackJack = false let isAlive = true // 1. Declare a variable called message and assign its value to an empty string +let message = ""; // 2. Reassign the message variable to the string we're logging out if (sum <= 20) { - console.log("Do you want to draw a new card? 🙂") + message = "Do you want to draw a new card? 🙂"; } else if (sum === 21) { - console.log("Wohoo! You've got Blackjack! 🥳") + message = "Wohoo! You've got Blackjack! 🥳"; hasBlackJack = true } else { - console.log("You're out of the game! 😭") + message = "You're out of the game! 😭"; isAlive = false } // 3. Log it out! +console.log(message); \ No newline at end of file diff --git a/3. Build a Blackjack game/11. Link to stylesheet/index.html b/3. Build a Blackjack game/11. Link to stylesheet/index.html index 2b676738..4a2e6cae 100644 --- a/3. Build a Blackjack game/11. Link to stylesheet/index.html +++ b/3. Build a Blackjack game/11. Link to stylesheet/index.html @@ -1,7 +1,10 @@ - + + + +

Blackjack

diff --git a/3. Build a Blackjack game/12. Add basic styling/index.html b/3. Build a Blackjack game/12. Add basic styling/index.html index 96b296f9..c9c3a54f 100644 --- a/3. Build a Blackjack game/12. Add basic styling/index.html +++ b/3. Build a Blackjack game/12. Add basic styling/index.html @@ -9,4 +9,6 @@

Blackjack

Sum:

- \ No newline at end of file + + + diff --git a/3. Build a Blackjack game/2. Add the firstCard, secondCard, and sum/index.js b/3. Build a Blackjack game/2. Add the firstCard, secondCard, and sum/index.js index 87b60dcb..fcec1e42 100644 --- a/3. Build a Blackjack game/2. Add the firstCard, secondCard, and sum/index.js +++ b/3. Build a Blackjack game/2. Add the firstCard, secondCard, and sum/index.js @@ -1,4 +1,10 @@ // 1. Create two variables, firstCard and secondCard. // Set their values to a random number between 2-11 +let firstCard = 7; +let secondCard = 5; + // 2. Create a variable, sum, and set it to the sum of the two cards + +let sum = firstCard + secondCard; +console.log(sum); diff --git a/3. Build a Blackjack game/3. If...else conditionals/index.js b/3. Build a Blackjack game/3. If...else conditionals/index.js index ec802b41..7f3e283c 100644 --- a/3. Build a Blackjack game/3. If...else conditionals/index.js +++ b/3. Build a Blackjack game/3. If...else conditionals/index.js @@ -1,4 +1,11 @@ -let firstCard = 6 -let secondCard = 9 -let sum = firstCard + secondCard +let firstCard = 10 +let secondCard = 7 +let sum = firstCard + secondCard + 8 // 26 +if (sum < 21) { + console.log("Do you want to draw a new card?"); +} else if (sum === 21) { + console.log("Woohoo! You've got blackjack!"); +} else { + console.log("You're out of the game!"); +} \ No newline at end of file diff --git a/3. Build a Blackjack game/4. Your first if...else statement/index.js b/3. Build a Blackjack game/4. Your first if...else statement/index.js index e1c5b6d8..76de07d8 100644 --- a/3. Build a Blackjack game/4. Your first if...else statement/index.js +++ b/3. Build a Blackjack game/4. Your first if...else statement/index.js @@ -6,3 +6,8 @@ let age = 22 // if less than 21 -> "You can not enter the club!" // else -> "Welcome!" +if (age <= 20) { + console.log("You can't enter the club."); +} else { + console.log("Welcome to the club!"); +} \ No newline at end of file diff --git a/3. Build a Blackjack game/5. if:else...if:else statement/index.js b/3. Build a Blackjack game/5. if:else...if:else statement/index.js index b856709e..f67d347b 100644 --- a/3. Build a Blackjack game/5. if:else...if:else statement/index.js +++ b/3. Build a Blackjack game/5. if:else...if:else statement/index.js @@ -4,4 +4,12 @@ let age = 100 // if less than 100 -> "Not elegible" // else if exactly 100 -> "Here is your birthday card from the King!" -// else -> "Not elegible, you have already gotten one" \ No newline at end of file +// else -> "Not elegible, you have already gotten one" + +if (age < 100) { + console.log("Not eligible."); +} else if (age === 100) { + console.log("Here is your birthday card from the King!"); +} else { + console.log("Not elegible, you've already gotten one."); +} \ No newline at end of file diff --git a/3. Build a Blackjack game/6. The if...else statement for our game/index.js b/3. Build a Blackjack game/6. The if...else statement for our game/index.js index 558a286f..b27122ed 100644 --- a/3. Build a Blackjack game/6. The if...else statement for our game/index.js +++ b/3. Build a Blackjack game/6. The if...else statement for our game/index.js @@ -8,3 +8,11 @@ let sum = firstCard + secondCard // else if exactly 21 -> "Wohoo! You've got Blackjack! 🥳" // else -> "You're out of the game! 😭" + +if (sum <= 20) { + console.log("Do you want to draw a new card? 🙂") +} else if (sum === 21) { + console.log("Wohoo! You've got Blackjack! 🥳") +} else { + console.log("You're out of the game! 😭"); +} \ No newline at end of file diff --git a/3. Build a Blackjack game/7. Add the hasBlackJack variable/index.js b/3. Build a Blackjack game/7. Add the hasBlackJack variable/index.js index 95b1599e..c65f7870 100644 --- a/3. Build a Blackjack game/7. Add the hasBlackJack variable/index.js +++ b/3. Build a Blackjack game/7. Add the hasBlackJack variable/index.js @@ -1,13 +1,16 @@ let firstCard = 10 let secondCard = 11 let sum = firstCard + secondCard +let hasBlackJack = false; if (sum <= 20) { console.log("Do you want to draw a new card? 🙂") } else if (sum === 21) { console.log("Wohoo! You've got Blackjack! 🥳") + hasBlackJack = true; } else { console.log("You're out of the game! 😭") } // CASH OUT! +console.log(hasBlackJack) \ No newline at end of file diff --git a/3. Build a Blackjack game/8. Add the isAlive variable/index.js b/3. Build a Blackjack game/8. Add the isAlive variable/index.js index cf5067c4..9c79052b 100644 --- a/3. Build a Blackjack game/8. Add the isAlive variable/index.js +++ b/3. Build a Blackjack game/8. Add the isAlive variable/index.js @@ -1,8 +1,9 @@ let firstCard = 10 let secondCard = 11 -let sum = firstCard + secondCard +let sum = firstCard + secondCard + 6 let hasBlackJack = false // 1. Create a variable called isAlive and assign it to true +isAlive = true; // 2. Flip its value to false in the appropriate code block if (sum <= 20) { @@ -12,6 +13,8 @@ if (sum <= 20) { hasBlackJack = true } else { console.log("You're out of the game! 😭") + isAlive = false; } // 3. Log it out to check that you're doing it right +console.log(isAlive); \ No newline at end of file diff --git a/3. Build a Blackjack game/9. Let's practice boolean conditions/index.js b/3. Build a Blackjack game/9. Let's practice boolean conditions/index.js index ddbf5fd6..1cfbb188 100644 --- a/3. Build a Blackjack game/9. Let's practice boolean conditions/index.js +++ b/3. Build a Blackjack game/9. Let's practice boolean conditions/index.js @@ -1,10 +1,10 @@ -console.log(4 === 3) // -console.log(5 > 2) // -console.log(12 > 12) // -console.log(3 < 0) // -console.log(3 >= 3) // -console.log(11 <= 11) // -console.log(3 <= 2) // +console.log(4 === 3) // false +console.log(5 > 2) // true +console.log(12 > 12) // false +console.log(3 < 0) // false +console.log(3 >= 3) // true +console.log(11 <= 11) // true +console.log(3 <= 2) // false // let firstCard = 10 // let secondCard = 11 From 71bf4392b0caa1054512383b3f9659a86ca957b2 Mon Sep 17 00:00:00 2001 From: VVPCodes Date: Thu, 10 Nov 2022 21:37:08 -0500 Subject: [PATCH 06/11] styled blackjack app with css, add button in html, added dom manipulation to dislay card sums and messgaes in web browser --- .../12. Add basic styling/index.css | 10 +++++++- .../12. Add basic styling/index.html | 2 -- .../13. Make the start button work/index.css | 9 +++++++- .../13. Make the start button work/index.html | 1 + .../13. Make the start button work/index.js | 23 ++++++++++--------- .../14. Display the message/index.html | 2 +- .../14. Display the message/index.js | 11 +++++---- .../15. Display the sum/index.html | 6 +++-- .../15. Display the sum/index.js | 3 +++ 9 files changed, 44 insertions(+), 23 deletions(-) diff --git a/3. Build a Blackjack game/12. Add basic styling/index.css b/3. Build a Blackjack game/12. Add basic styling/index.css index 05185891..ec99838a 100644 --- a/3. Build a Blackjack game/12. Add basic styling/index.css +++ b/3. Build a Blackjack game/12. Add basic styling/index.css @@ -1,13 +1,21 @@ /* Complete the CSS styling according to the provided design */ body { + font-family: 'Trebuchet MS', 'Lucida Sans Unicode', 'Lucida Grande', 'Lucida Sans', Arial, sans-serif; + text-align: center; + font-weight: bold; + background-image: url("./images/table.png"); + background-size: cover; + color: white; + } h1 { color: goldenrod; + } #message-el { - + font-style: italic; } diff --git a/3. Build a Blackjack game/12. Add basic styling/index.html b/3. Build a Blackjack game/12. Add basic styling/index.html index c9c3a54f..560973cf 100644 --- a/3. Build a Blackjack game/12. Add basic styling/index.html +++ b/3. Build a Blackjack game/12. Add basic styling/index.html @@ -10,5 +10,3 @@

Blackjack

- - diff --git a/3. Build a Blackjack game/13. Make the start button work/index.css b/3. Build a Blackjack game/13. Make the start button work/index.css index 463c27c8..1ec2560f 100644 --- a/3. Build a Blackjack game/13. Make the start button work/index.css +++ b/3. Build a Blackjack game/13. Make the start button work/index.css @@ -23,5 +23,12 @@ background - goldenrod */ button { - + color: #016f32; + background-color: goldenrod; + width: 150px; + padding-top: 5px; + padding-bottom: 5px; + font-weight: bold; + border: none; + border-radius: 2px; } \ No newline at end of file diff --git a/3. Build a Blackjack game/13. Make the start button work/index.html b/3. Build a Blackjack game/13. Make the start button work/index.html index 02d6bcbc..f5c7e70c 100644 --- a/3. Build a Blackjack game/13. Make the start button work/index.html +++ b/3. Build a Blackjack game/13. Make the start button work/index.html @@ -9,6 +9,7 @@

Blackjack

Sum:

+ \ No newline at end of file diff --git a/3. Build a Blackjack game/13. Make the start button work/index.js b/3. Build a Blackjack game/13. Make the start button work/index.js index ed9bbb49..9071601f 100644 --- a/3. Build a Blackjack game/13. Make the start button work/index.js +++ b/3. Build a Blackjack game/13. Make the start button work/index.js @@ -7,14 +7,15 @@ let message = "" // 2. Create a startGame() function. Move the conditional // below (line 11-20) inside the body of the function. - -if (sum <= 20) { - message = "Do you want to draw a new card? 🙂" -} else if (sum === 21) { - message = "Wohoo! You've got Blackjack! 🥳" - hasBlackJack = true -} else { - message = "You're out of the game! 😭" - isAlive = false -} -console.log(message) +function startGame() { + if (sum <= 20) { + message = "Do you want to draw a new card? 🙂" + } else if (sum === 21) { + message = "Wohoo! You've got Blackjack! 🥳" + hasBlackJack = true + } else { + message = "You're out of the game! 😭" + isAlive = false + } + console.log(message) +} \ No newline at end of file diff --git a/3. Build a Blackjack game/14. Display the message/index.html b/3. Build a Blackjack game/14. Display the message/index.html index 9d53d797..779d2481 100644 --- a/3. Build a Blackjack game/14. Display the message/index.html +++ b/3. Build a Blackjack game/14. Display the message/index.html @@ -10,4 +10,4 @@

Blackjack

- \ No newline at end of file + diff --git a/3. Build a Blackjack game/14. Display the message/index.js b/3. Build a Blackjack game/14. Display the message/index.js index 5e60181a..b0bbbfb8 100644 --- a/3. Build a Blackjack game/14. Display the message/index.js +++ b/3. Build a Blackjack game/14. Display the message/index.js @@ -1,22 +1,23 @@ let firstCard = 10 -let secondCard = 4 +let secondCard = 11 let sum = firstCard + secondCard let hasBlackJack = false let isAlive = true let message = "" // 1. Store the message-el paragraph in a variable called messageEl +let messageEl = document.querySelector("#message-el"); function startGame() { if (sum <= 20) { - message = "Do you want to draw a new card? 🙂" + message = "Do you want to draw a new card?" } else if (sum === 21) { - message = "Wohoo! You've got Blackjack! 🥳" + message = "You've got Blackjack!" hasBlackJack = true } else { - message = "You're out of the game! 😭" + message = "You're out of the game!" isAlive = false } // 2. Display the message in the messageEl using messageEl.textContent - console.log(message) + messageEl.textContent = message; } diff --git a/3. Build a Blackjack game/15. Display the sum/index.html b/3. Build a Blackjack game/15. Display the sum/index.html index f5514ea3..3560583c 100644 --- a/3. Build a Blackjack game/15. Display the sum/index.html +++ b/3. Build a Blackjack game/15. Display the sum/index.html @@ -7,8 +7,10 @@

Blackjack

Want to play a round?

Cards:

-

Sum:

+

Sum:

- \ No newline at end of file + + + \ No newline at end of file diff --git a/3. Build a Blackjack game/15. Display the sum/index.js b/3. Build a Blackjack game/15. Display the sum/index.js index 6da8fc00..6d5de2dc 100644 --- a/3. Build a Blackjack game/15. Display the sum/index.js +++ b/3. Build a Blackjack game/15. Display the sum/index.js @@ -6,9 +6,12 @@ let isAlive = true let message = "" let messageEl = document.getElementById("message-el") // 2. Store the sum paragraph in a variable called sumEl +let sumEl = document.getElementById("sum-el"); +console.log(sumEl); function startGame() { // 3. Render the sum on the page using this format -> "Sum: 14" + sumEl.textContent = "Sum: " + sum; if (sum <= 20) { message = "Do you want to draw a new card?" } else if (sum === 21) { From 60f0c5dcc51374ef74f1defaed787fe4ddffd9f9 Mon Sep 17 00:00:00 2001 From: VVPCodes Date: Thu, 10 Nov 2022 21:41:38 -0500 Subject: [PATCH 07/11] styled blackjack app with css, add button in html, added dom manipulation to dislay card sums and messgaes in web browser --- 3. Build a Blackjack game/15. Display the sum/index.html | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/3. Build a Blackjack game/15. Display the sum/index.html b/3. Build a Blackjack game/15. Display the sum/index.html index 3560583c..1f2ece7c 100644 --- a/3. Build a Blackjack game/15. Display the sum/index.html +++ b/3. Build a Blackjack game/15. Display the sum/index.html @@ -13,4 +13,5 @@

Blackjack

- \ No newline at end of file + + \ No newline at end of file From 39203fb15f9c048e387811da9c672fad815d2319 Mon Sep 17 00:00:00 2001 From: VVPCodes Date: Thu, 10 Nov 2022 21:45:25 -0500 Subject: [PATCH 08/11] styled blackjack app with css, add button in html, added dom manipulation to dislay card sums and messgaes in web browser --- 3. Build a Blackjack game/15. Display the sum/index.html | 1 + 1 file changed, 1 insertion(+) diff --git a/3. Build a Blackjack game/15. Display the sum/index.html b/3. Build a Blackjack game/15. Display the sum/index.html index 1f2ece7c..fe126b90 100644 --- a/3. Build a Blackjack game/15. Display the sum/index.html +++ b/3. Build a Blackjack game/15. Display the sum/index.html @@ -14,4 +14,5 @@

Blackjack

+ \ No newline at end of file From 7cf24576ae59b10a18a240012bd2452cc4bb3e36 Mon Sep 17 00:00:00 2001 From: VVPCodes Date: Fri, 11 Nov 2022 16:52:26 -0500 Subject: [PATCH 09/11] rendered cards in JS file using for loop, arrays and .push() --- .vscode/launch.json | 7 +++++++ .../15. Display the sum/index.html | 4 +--- .../16. Display the cards/index.html | 2 +- .../16. Display the cards/index.js | 2 ++ .../17. New card button/index.css | 2 ++ .../17. New card button/index.html | 1 + 3. Build a Blackjack game/17. New card button/index.js | 3 +++ .../index.js | 5 +++-- .../19. Rename the startGame function/index.js | 6 +++++- .../index.js | 3 ++- 3. Build a Blackjack game/21. Intro to arrays/index.js | 5 +++++ 3. Build a Blackjack game/22. Array indexes/index.js | 5 ++++- .../23. Arrays with multiple data types/index.js | 8 +++++++- .../24. Adding and removing items from arrays/index.js | 8 +++++++- .../25. Creating the cards array/index.js | 3 ++- .../26. Push a new card to the array/index.js | 2 ++ .../27. Counting in JavaScript/index.js | 2 +- .../28. Write your first loop/index.js | 4 ++++ .../29. For loops and arrays/index.js | 10 ++++++++-- .../30. Write you first array-based for loop/index.js | 6 ++++-- .../31. For loops, arrays, and DOM/index.js | 6 ++++-- .../32. Use a loop to render cards/index.html | 4 +++- .../32. Use a loop to render cards/index.js | 7 +++++-- 23 files changed, 83 insertions(+), 22 deletions(-) diff --git a/.vscode/launch.json b/.vscode/launch.json index e3eb9285..0f0a2d83 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -4,6 +4,13 @@ // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ + { + "name": "Attach to Chrome", + "port": 9222, + "request": "attach", + "type": "chrome", + "webRoot": "${workspaceFolder}" + }, { "name": "Launch Chrome", diff --git a/3. Build a Blackjack game/15. Display the sum/index.html b/3. Build a Blackjack game/15. Display the sum/index.html index fe126b90..07405b85 100644 --- a/3. Build a Blackjack game/15. Display the sum/index.html +++ b/3. Build a Blackjack game/15. Display the sum/index.html @@ -13,6 +13,4 @@

Blackjack

- - - \ No newline at end of file + diff --git a/3. Build a Blackjack game/16. Display the cards/index.html b/3. Build a Blackjack game/16. Display the cards/index.html index f9593f06..c362eae5 100644 --- a/3. Build a Blackjack game/16. Display the cards/index.html +++ b/3. Build a Blackjack game/16. Display the cards/index.html @@ -6,7 +6,7 @@

Blackjack

Want to play a round?

-

Cards:

+

Cards:

Sum:

diff --git a/3. Build a Blackjack game/16. Display the cards/index.js b/3. Build a Blackjack game/16. Display the cards/index.js index 614ee50e..8922999c 100644 --- a/3. Build a Blackjack game/16. Display the cards/index.js +++ b/3. Build a Blackjack game/16. Display the cards/index.js @@ -7,9 +7,11 @@ let message = "" let messageEl = document.getElementById("message-el") let sumEl = document.getElementById("sum-el") // 2. Store the cards paragraph in a variable called cardsEl +let cardsEl = document.querySelector("#cards-el") function startGame() { // 3. Render the cars on the page using this format -> "Cards: 10 4" + cardsEl.textContent = "Cards: " + firstCard + " " + secondCard sumEl.textContent = "Sum: " + sum if (sum <= 20) { message = "Do you want to draw a new card?" diff --git a/3. Build a Blackjack game/17. New card button/index.css b/3. Build a Blackjack game/17. New card button/index.css index 94828496..17077b3b 100644 --- a/3. Build a Blackjack game/17. New card button/index.css +++ b/3. Build a Blackjack game/17. New card button/index.css @@ -26,4 +26,6 @@ button { font-weight: bold; border: none; border-radius: 2px; + margin-top: 2px; + margin-bottom: 2px; } \ No newline at end of file diff --git a/3. Build a Blackjack game/17. New card button/index.html b/3. Build a Blackjack game/17. New card button/index.html index 4ef52500..839c720d 100644 --- a/3. Build a Blackjack game/17. New card button/index.html +++ b/3. Build a Blackjack game/17. New card button/index.html @@ -9,6 +9,7 @@

Blackjack

Sum:

+ \ No newline at end of file diff --git a/3. Build a Blackjack game/17. New card button/index.js b/3. Build a Blackjack game/17. New card button/index.js index 40c8eba3..4ab00f75 100644 --- a/3. Build a Blackjack game/17. New card button/index.js +++ b/3. Build a Blackjack game/17. New card button/index.js @@ -24,3 +24,6 @@ function startGame() { } // 2. Create a function newCard() that logs out "Drawing a new card from the deck!" +function newCard () { + console.log("Drawing a new card from the deck!"); +} \ No newline at end of file diff --git a/3. Build a Blackjack game/18. Add to the sum when newCard is clicked/index.js b/3. Build a Blackjack game/18. Add to the sum when newCard is clicked/index.js index 96f220e1..c95e12ee 100644 --- a/3. Build a Blackjack game/18. Add to the sum when newCard is clicked/index.js +++ b/3. Build a Blackjack game/18. Add to the sum when newCard is clicked/index.js @@ -27,8 +27,9 @@ function startGame() { function newCard() { console.log("Drawing a new card from the deck!") // 1. Create a card variable, and hard code its value to a number (2-11) - + let drawnCard = 4 // 2. Add the new card to the sum variable - + sum += drawnCard // 3. Call startGame() + startGame(); } diff --git a/3. Build a Blackjack game/19. Rename the startGame function/index.js b/3. Build a Blackjack game/19. Rename the startGame function/index.js index 8efd421f..96d9e840 100644 --- a/3. Build a Blackjack game/19. Rename the startGame function/index.js +++ b/3. Build a Blackjack game/19. Rename the startGame function/index.js @@ -9,6 +9,10 @@ let sumEl = document.getElementById("sum-el") let cardsEl = document.getElementById("cards-el") function startGame() { + renderGame(); +} + +function renderGame() { cardsEl.textContent = "Cards: " + firstCard + " " + secondCard sumEl.textContent = "Sum: " + sum if (sum <= 20) { @@ -27,5 +31,5 @@ function startGame() { function newCard() { let card = 6 sum += card - startGame() + renderGame() } diff --git a/3. Build a Blackjack game/20. Solving our cards problem with an array/index.js b/3. Build a Blackjack game/20. Solving our cards problem with an array/index.js index 4cf17f3c..5857e883 100644 --- a/3. Build a Blackjack game/20. Solving our cards problem with an array/index.js +++ b/3. Build a Blackjack game/20. Solving our cards problem with an array/index.js @@ -1,5 +1,6 @@ let firstCard = 10 let secondCard = 4 +let cards = [firstCard, secondCard] let sum = firstCard + secondCard let hasBlackJack = false let isAlive = true @@ -14,7 +15,7 @@ function startGame() { function renderGame() { // render out firstCard and secondCard - cardsEl.textContent = "Cards: " + firstCard + " " + secondCard + cardsEl.textContent = "Cards: " + cards[0] + " " + cards[1] // render out ALL the cards we have sumEl.textContent = "Sum: " + sum if (sum <= 20) { diff --git a/3. Build a Blackjack game/21. Intro to arrays/index.js b/3. Build a Blackjack game/21. Intro to arrays/index.js index 91e8cf0e..b7546941 100644 --- a/3. Build a Blackjack game/21. Intro to arrays/index.js +++ b/3. Build a Blackjack game/21. Intro to arrays/index.js @@ -9,3 +9,8 @@ let featuredPosts = [ // Create an array that lists your i.e. experience, education, licenses, skills or similar // The items of the array should be strings +let myExperience = [ + "Coding Bootcamp Certificate (Northwestern University)", + "M.A. in Research and Experimental Psychology (NYU)", + "B.A. in Psychology (Webster University)" +] \ No newline at end of file diff --git a/3. Build a Blackjack game/22. Array indexes/index.js b/3. Build a Blackjack game/22. Array indexes/index.js index 1ee7e954..5a928f88 100644 --- a/3. Build a Blackjack game/22. Array indexes/index.js +++ b/3. Build a Blackjack game/22. Array indexes/index.js @@ -11,5 +11,8 @@ let experience = ["CEO at Scrimba", "Frontend developer at Xeneta", "People coun // Make the following appear in the console: // Frontend developer at Xeneta +console.log(experience[1]) // People counter for Norstat -// CEO at Scrimba \ No newline at end of file +console.log(experience[2]) +// CEO at Scrimba +console.log(experience[0]) \ No newline at end of file diff --git a/3. Build a Blackjack game/23. Arrays with multiple data types/index.js b/3. Build a Blackjack game/23. Arrays with multiple data types/index.js index df3ec000..9396b342 100644 --- a/3. Build a Blackjack game/23. Arrays with multiple data types/index.js +++ b/3. Build a Blackjack game/23. Arrays with multiple data types/index.js @@ -1,4 +1,10 @@ // Array - ordered list of items - coposite / complex data type // Create an array that describes yourself. Use the three primitive data types you've learned -// It should contain your name (string), your age (number), and whether you like pizza (boolean) \ No newline at end of file +// It should contain your name (string), your age (number), and whether you like pizza (boolean) + +let user = ["Veronika", 31, true]; + +for (let i = 0; i < user.length; i++) { + console.log(user[i]) +} diff --git a/3. Build a Blackjack game/24. Adding and removing items from arrays/index.js b/3. Build a Blackjack game/24. Adding and removing items from arrays/index.js index f4dfa41d..873be219 100644 --- a/3. Build a Blackjack game/24. Adding and removing items from arrays/index.js +++ b/3. Build a Blackjack game/24. Adding and removing items from arrays/index.js @@ -1,6 +1,6 @@ let cards = [7, 4] cards.push(6) -//console.log(cards) +// console.log(cards) // Push the newMessage to the messages array, and then log out the array @@ -12,5 +12,11 @@ let messages = [ let newMessage = "Same here!" +messages.push(newMessage) +console.log(messages) + +messages.pop() + +console.log(messages) diff --git a/3. Build a Blackjack game/25. Creating the cards array/index.js b/3. Build a Blackjack game/25. Creating the cards array/index.js index 67e05cbb..ae8d67e9 100644 --- a/3. Build a Blackjack game/25. Creating the cards array/index.js +++ b/3. Build a Blackjack game/25. Creating the cards array/index.js @@ -1,6 +1,7 @@ let firstCard = 10 let secondCard = 4 // 1. Create a new array - cards - that contains firstCard and secondCard +let cards = [firstCard, secondCard] let sum = firstCard + secondCard let hasBlackJack = false let isAlive = true @@ -15,7 +16,7 @@ function startGame() { function renderGame() { // 2. Refer to the cards array when rendering out the cards - cardsEl.textContent = "Cards: " + firstCard + " " + secondCard + cardsEl.textContent = "Cards: " + cards[0] + " " + cards[1] sumEl.textContent = "Sum: " + sum if (sum <= 20) { message = "Do you want to draw a new card?" diff --git a/3. Build a Blackjack game/26. Push a new card to the array/index.js b/3. Build a Blackjack game/26. Push a new card to the array/index.js index 830f34b2..c77ed911 100644 --- a/3. Build a Blackjack game/26. Push a new card to the array/index.js +++ b/3. Build a Blackjack game/26. Push a new card to the array/index.js @@ -33,5 +33,7 @@ function newCard() { let card = 6 sum += card // Push the card to the cards array + cards.push(card) + console.log(cards) renderGame() } diff --git a/3. Build a Blackjack game/27. Counting in JavaScript/index.js b/3. Build a Blackjack game/27. Counting in JavaScript/index.js index 323d7e34..3e4e5177 100644 --- a/3. Build a Blackjack game/27. Counting in JavaScript/index.js +++ b/3. Build a Blackjack game/27. Counting in JavaScript/index.js @@ -7,7 +7,7 @@ // What's the STEP SIZE we should use? // START FINISH STEP SIZE -for ( let count = 1; count < 11; count += 1 ) { +for ( let count = 10; count < 21; count += 1 ) { console.log(count) diff --git a/3. Build a Blackjack game/28. Write your first loop/index.js b/3. Build a Blackjack game/28. Write your first loop/index.js index d6ab9134..733efa33 100644 --- a/3. Build a Blackjack game/28. Write your first loop/index.js +++ b/3. Build a Blackjack game/28. Write your first loop/index.js @@ -2,3 +2,7 @@ // Create a for loop that counts from 10 to 100 in steps of 10 // Use console.log to log out the numbers + +for (let i = 10; i < 101; i += 10) { + console.log(i) +} diff --git a/3. Build a Blackjack game/29. For loops and arrays/index.js b/3. Build a Blackjack game/29. For loops and arrays/index.js index 667672a4..560dbb5b 100644 --- a/3. Build a Blackjack game/29. For loops and arrays/index.js +++ b/3. Build a Blackjack game/29. For loops and arrays/index.js @@ -3,7 +3,11 @@ let messages = [ "I'm great, thank you! How about you?", "All good. Been working on my portfolio lately.", "Same here!", - "Great to hear" + "Great to hear", + "How's the job search going?", + "Great, I have two interviews scheduled new week", + "Amazing, I just had my first interview. It went well. They invited me to second round.", + "That's awesome!" ] // DRY - Don't repeat yourself @@ -12,5 +16,7 @@ let messages = [ // console.log(messages[2]) // console.log(messages[3]) - +for (let i = 0; i < messages.length; i++) { + console.log(messages[i]) +} diff --git a/3. Build a Blackjack game/30. Write you first array-based for loop/index.js b/3. Build a Blackjack game/30. Write you first array-based for loop/index.js index c650b223..f350d361 100644 --- a/3. Build a Blackjack game/30. Write you first array-based for loop/index.js +++ b/3. Build a Blackjack game/30. Write you first array-based for loop/index.js @@ -1,6 +1,8 @@ -let cards = [7, 3, 9] +let cards = [7, 3, 9, 2] // Create a for loop that logs out all the cards in the array // Use cards.length to specify how long the loop should run - +for (let i = 0; i < cards.length; i++) { + console.log(cards[i]) +} diff --git a/3. Build a Blackjack game/31. For loops, arrays, and DOM/index.js b/3. Build a Blackjack game/31. For loops, arrays, and DOM/index.js index 9f6ff24d..d599df85 100644 --- a/3. Build a Blackjack game/31. For loops, arrays, and DOM/index.js +++ b/3. Build a Blackjack game/31. For loops, arrays, and DOM/index.js @@ -1,5 +1,7 @@ -let sentence = ["Hello ", "my ", "name ", "is ", "Per"] +let sentence = ["Hello", "my", "name", "is", "Per"] let greetingEl = document.getElementById("greeting-el") // Render the sentence in the greetingEl paragraph using a for loop and .textContent - +for (let i = 0; i < sentence.length; i++) { + greetingEl.textContent += sentence[i] + " " +} \ No newline at end of file diff --git a/3. Build a Blackjack game/32. Use a loop to render cards/index.html b/3. Build a Blackjack game/32. Use a loop to render cards/index.html index 86fc8409..a27e45ce 100644 --- a/3. Build a Blackjack game/32. Use a loop to render cards/index.html +++ b/3. Build a Blackjack game/32. Use a loop to render cards/index.html @@ -11,4 +11,6 @@

Blackjack

- \ No newline at end of file + + + \ No newline at end of file diff --git a/3. Build a Blackjack game/32. Use a loop to render cards/index.js b/3. Build a Blackjack game/32. Use a loop to render cards/index.js index fa473ab9..cfae5ef5 100644 --- a/3. Build a Blackjack game/32. Use a loop to render cards/index.js +++ b/3. Build a Blackjack game/32. Use a loop to render cards/index.js @@ -14,9 +14,12 @@ function startGame() { } function renderGame() { - cardsEl.textContent = "Cards: " + cards[0] + " " + cards[1] + cardsEl.textContent = "Cards: " // Create a for loop that renders out all the cards instead of just two - + for (let i = 0; i < cards.length; i++) { + cardsEl.textContent += cards[i] + " " + } + sumEl.textContent = "Sum: " + sum if (sum <= 20) { message = "Do you want to draw a new card?" From b82f1e190137eef7ba9e1f95dc1de0fe77c62c80 Mon Sep 17 00:00:00 2001 From: VVPCodes Date: Sun, 13 Nov 2022 14:17:42 -0500 Subject: [PATCH 10/11] finished blackjack app, learned conditional logic, objects, and math functions --- .vscode/launch.json | 58 ++++++++++++++++++- .../my-work/index.js | 1 + .../index.js | 6 +- .../index.js | 25 +++++++- .../index.js | 11 ++-- .../index.js | 2 +- .../37. Math.random() * 6/index.js | 6 +- .../index.js | 4 +- .../index.js | 4 +- .../40. Completing our dice function/index.js | 8 ++- .../41. Make getRandomCard() work/index.js | 2 +- .../index.js | 11 +++- .../index.js | 15 ++--- .../45. The logical AND operator/index.js | 8 +-- .../index.js | 6 +- .../47. The logical OR operator/index.js | 7 +++ .../index.js | 11 ++-- .../49. Object sneak peek/index.js | 16 +++-- .../50. Intro to objects/index.js | 2 +- .../51. Create your first object/index.js | 9 +++ .../index.html | 1 + .../index.js | 7 +++ .../53. Methods on object/index.js | 5 ++ 23 files changed, 175 insertions(+), 50 deletions(-) diff --git a/.vscode/launch.json b/.vscode/launch.json index 0f0a2d83..d39315a7 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -4,6 +4,13 @@ // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ + { + "name": "Attach to Edge", + "port": 9222, + "request": "attach", + "type": "msedge", + "webRoot": "${workspaceFolder}" + }, { "name": "Attach to Chrome", "port": 9222, @@ -11,7 +18,6 @@ "type": "chrome", "webRoot": "${workspaceFolder}" }, - { "name": "Launch Chrome", "request": "launch", @@ -32,6 +38,56 @@ "name": "Launch Chrome against localhost", "url": "http://localhost:8080", "webRoot": "${workspaceFolder}" + }, + { + "type": "pwa-msedge", + "name": "Launch Microsoft Edge", + "request": "launch", + "runtimeArgs": [ + "--remote-debugging-port=9222" + ], + "url": "/Users/veronika/.vscode/extensions/ms-edgedevtools.vscode-edge-devtools-2.1.1/out/startpage/index.html", // Provide your project's url to finish configuring + "presentation": { + "hidden": true + } + }, + { + "type": "pwa-msedge", + "name": "Launch Microsoft Edge in headless mode", + "request": "launch", + "runtimeArgs": [ + "--headless", + "--remote-debugging-port=9222" + ], + "url": "/Users/veronika/.vscode/extensions/ms-edgedevtools.vscode-edge-devtools-2.1.1/out/startpage/index.html", // Provide your project's url to finish configuring + "presentation": { + "hidden": true + } + }, + { + "type": "vscode-edge-devtools.debug", + "name": "Open Edge DevTools", + "request": "attach", + "url": "/Users/veronika/.vscode/extensions/ms-edgedevtools.vscode-edge-devtools-2.1.1/out/startpage/index.html", // Provide your project's url to finish configuring + "presentation": { + "hidden": true + } + } + ], + "compounds": [ + { + "name": "Launch Edge Headless and attach DevTools", + "configurations": [ + "Launch Microsoft Edge in headless mode", + "Open Edge DevTools" + ] + }, + { + "name": "Launch Edge and attach DevTools", + "configurations": [ + "Launch Microsoft Edge", + "Open Edge DevTools" + ] } ] } \ No newline at end of file diff --git a/1. Build a Passenger Counter App/my-work/index.js b/1. Build a Passenger Counter App/my-work/index.js index bcb933e0..ace8a634 100644 --- a/1. Build a Passenger Counter App/my-work/index.js +++ b/1. Build a Passenger Counter App/my-work/index.js @@ -1,6 +1,7 @@ let saveEl = document.getElementById("save-el"); let countEl = document.getElementById("count-el"); let count = 0; +console.log(7); function incrementButtonClick() { count += 1; diff --git a/3. Build a Blackjack game/33. How can we avoid to hard-code card values?/index.js b/3. Build a Blackjack game/33. How can we avoid to hard-code card values?/index.js index 16a5856b..764f92a0 100644 --- a/3. Build a Blackjack game/33. How can we avoid to hard-code card values?/index.js +++ b/3. Build a Blackjack game/33. How can we avoid to hard-code card values?/index.js @@ -1,5 +1,5 @@ -let firstCard = 10 -let secondCard = 4 +let firstCard = getRandomCard() +let secondCard = getRandomCard() let cards = [firstCard, secondCard] let sum = firstCard + secondCard let hasBlackJack = false @@ -37,7 +37,7 @@ function renderGame() { function newCard() { - let card = 6 + let card = getRandomCard() sum += card cards.push(card) console.log(cards) diff --git a/3. Build a Blackjack game/34. Returning values in functions/index.js b/3. Build a Blackjack game/34. Returning values in functions/index.js index fc725f25..a6aa2fa0 100644 --- a/3. Build a Blackjack game/34. Returning values in functions/index.js +++ b/3. Build a Blackjack game/34. Returning values in functions/index.js @@ -12,12 +12,33 @@ function getFastestRaceTime() { } } -// let fastestRace = getFastestRaceTime() -// console.log(fastestRace) +let fastestRace = getFastestRaceTime() +console.log(fastestRace) + // Write a function that returns the total race time // Call/invoke the function and store the returned value in a new variable // Finally, log the variable out +function getTotalRaceTime() { + return player1Time + player2Time +} + +let totalRaceTime = getTotalRaceTime() +console.log(totalRaceTime) + +// function getTotalRaceTime() { +// if (player1Time > player2Time) { +// return player1Time +// } else if (player2Time > player1Time) { +// return player2Time +// } else { +// return player1Time +// } +// } + +// let totalRaceTime = getTotalRaceTime() +// console.log(totalRaceTime) + diff --git a/3. Build a Blackjack game/35. Use a function to set the card values/index.js b/3. Build a Blackjack game/35. Use a function to set the card values/index.js index 453129ae..46af44ff 100644 --- a/3. Build a Blackjack game/35. Use a function to set the card values/index.js +++ b/3. Build a Blackjack game/35. Use a function to set the card values/index.js @@ -1,6 +1,6 @@ // 2. Use getRandomCard() to set the values of firstCard and secondCard -let firstCard = 10 -let secondCard = 4 +let firstCard = getRandomCard() +let secondCard = getRandomCard() let cards = [firstCard, secondCard] let sum = firstCard + secondCard let hasBlackJack = false @@ -11,8 +11,9 @@ let sumEl = document.getElementById("sum-el") let cardsEl = document.getElementById("cards-el") // 1. Create a function, getRandomCard(), that always returns the number 5 - - +function getRandomCard() { + return 5 +} function startGame() { renderGame() @@ -40,7 +41,7 @@ function renderGame() { function newCard() { // 3. Use the getRandomCard() to set the value of card - let card = 6 + let card = getRandomCard() sum += card cards.push(card) console.log(cards) diff --git a/3. Build a Blackjack game/36. Generating random numbers with Math.random()/index.js b/3. Build a Blackjack game/36. Generating random numbers with Math.random()/index.js index c59ac526..7a230236 100644 --- a/3. Build a Blackjack game/36. Generating random numbers with Math.random()/index.js +++ b/3. Build a Blackjack game/36. Generating random numbers with Math.random()/index.js @@ -7,6 +7,6 @@ console.log(randomNumber) What does Math.random() do? -Your answer: +Your answer: generates random numbers in the range of 0.000 to 0.999 */ \ No newline at end of file diff --git a/3. Build a Blackjack game/37. Math.random() * 6/index.js b/3. Build a Blackjack game/37. Math.random() * 6/index.js index d4821db3..975bf9f4 100644 --- a/3. Build a Blackjack game/37. Math.random() * 6/index.js +++ b/3. Build a Blackjack game/37. Math.random() * 6/index.js @@ -1,4 +1,4 @@ -let randomNumber = Math.random() +let randomNumber = Math.random() * 6 console.log(randomNumber) @@ -7,7 +7,7 @@ console.log(randomNumber) In which range will our randomNumber be now? -From: -To: +From: 0 +To: 5.999 */ \ No newline at end of file diff --git a/3. Build a Blackjack game/38. Flooring the number with Math.floor()/index.js b/3. Build a Blackjack game/38. Flooring the number with Math.floor()/index.js index c3374888..f549253b 100644 --- a/3. Build a Blackjack game/38. Flooring the number with Math.floor()/index.js +++ b/3. Build a Blackjack game/38. Flooring the number with Math.floor()/index.js @@ -1,6 +1,6 @@ // let randomNumber = Math.random() * 6 -let flooredNumber = Math.floor(3.45632) +let flooredNumber = Math.floor(3.632) console.log(flooredNumber) @@ -9,6 +9,6 @@ console.log(flooredNumber) What does Math.floor() do to positive numbers? -Your answer: +Your answer: removes the decimals */ \ No newline at end of file diff --git a/3. Build a Blackjack game/39. Using Math.random() and Math.floor() to create a dice/index.js b/3. Build a Blackjack game/39. Using Math.random() and Math.floor() to create a dice/index.js index cd7ae39e..2477f0b2 100644 --- a/3. Build a Blackjack game/39. Using Math.random() and Math.floor() to create a dice/index.js +++ b/3. Build a Blackjack game/39. Using Math.random() and Math.floor() to create a dice/index.js @@ -1,11 +1,11 @@ -let randomNumber = Math.random() * 6 +let randomNumber = Math.floor(Math.random() * 6) console.log(randomNumber) /* Write down all the possible values randomNumber can hold now! - +Answer: 0 to 5 diff --git a/3. Build a Blackjack game/40. Completing our dice function/index.js b/3. Build a Blackjack game/40. Completing our dice function/index.js index 404bbd99..cedd5080 100644 --- a/3. Build a Blackjack game/40. Completing our dice function/index.js +++ b/3. Build a Blackjack game/40. Completing our dice function/index.js @@ -1,5 +1,7 @@ // Try to modify the expression so that we get a range from 1 to 6 -let randomNumber = Math.floor( Math.random() * 6 ) - -console.log(randomNumber) +function rollDice() { + let randomNumber = Math.floor( Math.random() * 6 ) + 1 + return randomNumber +} +console.log(rollDice()) \ No newline at end of file diff --git a/3. Build a Blackjack game/41. Make getRandomCard() work/index.js b/3. Build a Blackjack game/41. Make getRandomCard() work/index.js index 7ca78e13..2ad88d28 100644 --- a/3. Build a Blackjack game/41. Make getRandomCard() work/index.js +++ b/3. Build a Blackjack game/41. Make getRandomCard() work/index.js @@ -11,7 +11,7 @@ let cardsEl = document.getElementById("cards-el") // Make this function return a random number between 1 and 13 function getRandomCard() { - return 5 + return Math.floor(Math.random()*13) + 1 } function startGame() { diff --git a/3. Build a Blackjack game/42. Complete getRandomNumber function/index.js b/3. Build a Blackjack game/42. Complete getRandomNumber function/index.js index bb615109..333cb0ba 100644 --- a/3. Build a Blackjack game/42. Complete getRandomNumber function/index.js +++ b/3. Build a Blackjack game/42. Complete getRandomNumber function/index.js @@ -11,9 +11,14 @@ let cardsEl = document.getElementById("cards-el") function getRandomCard() { - // if 1 -> return 11 - // if 11-13 -> return 10 - return Math.floor( Math.random()*13 ) + 1 + let randomCard = Math.floor( Math.random()*13 ) + 1 + if (randomCard === 1) { + return 11 + } else if (randomCard > 10) { + return 10 + } else { + return randomCard + } } function startGame() { diff --git a/3. Build a Blackjack game/43. Assign values in the startGame function/index.js b/3. Build a Blackjack game/43. Assign values in the startGame function/index.js index 48d61a5d..889052f1 100644 --- a/3. Build a Blackjack game/43. Assign values in the startGame function/index.js +++ b/3. Build a Blackjack game/43. Assign values in the startGame function/index.js @@ -1,9 +1,7 @@ -let firstCard = getRandomCard() -let secondCard = getRandomCard() -let cards = [firstCard, secondCard] -let sum = firstCard + secondCard +let cards = [ ] +let sum = 0 let hasBlackJack = false -let isAlive = true +let isAlive = false let message = "" let messageEl = document.getElementById("message-el") let sumEl = document.getElementById("sum-el") @@ -23,8 +21,11 @@ function getRandomCard() { } function startGame() { - // Generate two random numbes - // Re-assign the cards and sum variables so that the game can start + isAlive = true + let firstCard = getRandomCard() + let secondCard = getRandomCard() + cards = [firstCard, secondCard] + sum = firstCard + secondCard renderGame() } diff --git a/3. Build a Blackjack game/45. The logical AND operator/index.js b/3. Build a Blackjack game/45. The logical AND operator/index.js index 9d978de8..b686aef7 100644 --- a/3. Build a Blackjack game/45. The logical AND operator/index.js +++ b/3. Build a Blackjack game/45. The logical AND operator/index.js @@ -1,10 +1,8 @@ -let hasCompletedCourse = false +let hasCompletedCourse = true let givesCertificate = true -if (hasCompletedCourse === true) { - if (givesCertificate === true) { - generateCertificate() - } +if (hasCompletedCourse && givesCertificate === true) { + generateCertificate() } function generateCertificate() { diff --git a/3. Build a Blackjack game/46. Write your first logical operator/index.js b/3. Build a Blackjack game/46. Write your first logical operator/index.js index 1c7114b3..6276d5da 100644 --- a/3. Build a Blackjack game/46. Write your first logical operator/index.js +++ b/3. Build a Blackjack game/46. Write your first logical operator/index.js @@ -1,9 +1,13 @@ -let hasSolvedChallenge = false +let hasSolvedChallenge = true let hasHintsLeft = false // Create an if statement that checks that both variables are false. // If so, run the showSolution() function +if (hasSolvedChallenge === false && hasHintsLeft === false) { + showSolution() +} + function showSolution() { console.log("Showing the solution....") } diff --git a/3. Build a Blackjack game/47. The logical OR operator/index.js b/3. Build a Blackjack game/47. The logical OR operator/index.js index 7412187b..e104f116 100644 --- a/3. Build a Blackjack game/47. The logical OR operator/index.js +++ b/3. Build a Blackjack game/47. The logical OR operator/index.js @@ -1,6 +1,13 @@ // Create two boolean variables, likesDocumentaries and likesStartups // Use an OR statement (||) to call recommendMovie() if either of those variables are true +let likesDocumentaries = true +let likesStartups = false + +if (likesDocumentaries === true || likesStartups === true) { + recommendMovie() +} + function recommendMovie() { console.log("Hey, check out this new film we think you will like!") } diff --git a/3. Build a Blackjack game/48. Only trigger newCard() if you're allowed to/index.js b/3. Build a Blackjack game/48. Only trigger newCard() if you're allowed to/index.js index adf11f0f..cda87499 100644 --- a/3. Build a Blackjack game/48. Only trigger newCard() if you're allowed to/index.js +++ b/3. Build a Blackjack game/48. Only trigger newCard() if you're allowed to/index.js @@ -48,9 +48,10 @@ function renderGame() { function newCard() { - // Only allow the player to get a new card if she IS alive and does NOT have Blackjack - let card = getRandomCard() - sum += card - cards.push(card) - renderGame() + if (isAlive === true && hasBlackJack === false) { + let card = getRandomCard() + sum += card + cards.push(card) + renderGame() + } } diff --git a/3. Build a Blackjack game/49. Object sneak peek/index.js b/3. Build a Blackjack game/49. Object sneak peek/index.js index fa7385c2..1b56a412 100644 --- a/3. Build a Blackjack game/49. Object sneak peek/index.js +++ b/3. Build a Blackjack game/49. Object sneak peek/index.js @@ -7,14 +7,20 @@ let messageEl = document.getElementById("message-el") let sumEl = document.getElementById("sum-el") let cardsEl = document.getElementById("cards-el") -let player = { - name: "Per", - chips: 145 -} +// let player = { +// name: "Veronika", +// chips: 145 +// } +let playerName = "Veronika" +let playerChips = 145 let playerEl = document.getElementById("player-el") -playerEl.textContent = player.name + ": $" + player.chips +playerEl.textContent = playerName + ": $" + playerChips + + +// let playerEl = document.getElementById("player-el") +// playerEl.textContent = player.name + ": $" + player.chips function getRandomCard() { let randomNumber = Math.floor( Math.random()*13 ) + 1 diff --git a/3. Build a Blackjack game/50. Intro to objects/index.js b/3. Build a Blackjack game/50. Intro to objects/index.js index 0870bae7..f37e42eb 100644 --- a/3. Build a Blackjack game/50. Intro to objects/index.js +++ b/3. Build a Blackjack game/50. Intro to objects/index.js @@ -12,6 +12,6 @@ let course = { } -console.log( course.tags ) +console.log(course.tags) diff --git a/3. Build a Blackjack game/51. Create your first object/index.js b/3. Build a Blackjack game/51. Create your first object/index.js index 7d5c3fe6..8953c78e 100644 --- a/3. Build a Blackjack game/51. Create your first object/index.js +++ b/3. Build a Blackjack game/51. Create your first object/index.js @@ -3,3 +3,12 @@ // Log out at least two of the keys using the dot notation +let castleListing = { + isFreeNow: true, + floors: 3, + location: "France", + features: ["garden", "fountain"] +} + +console.log(castleListing.features) +console.log(castleListing.floors) \ No newline at end of file diff --git a/3. Build a Blackjack game/52. Use an object to store player data/index.html b/3. Build a Blackjack game/52. Use an object to store player data/index.html index 3b8f89de..f31075b9 100644 --- a/3. Build a Blackjack game/52. Use an object to store player data/index.html +++ b/3. Build a Blackjack game/52. Use an object to store player data/index.html @@ -9,6 +9,7 @@

Blackjack

Sum:

+

diff --git a/3. Build a Blackjack game/52. Use an object to store player data/index.js b/3. Build a Blackjack game/52. Use an object to store player data/index.js index aaa0bcf6..8e3abf21 100644 --- a/3. Build a Blackjack game/52. Use an object to store player data/index.js +++ b/3. Build a Blackjack game/52. Use an object to store player data/index.js @@ -1,4 +1,9 @@ // 2. Create the player object. Give it two keys, name and chips, and set their values +let player = { + name: "Veronika", + chips: 200 +} + let cards = [] let sum = 0 let hasBlackJack = false @@ -8,8 +13,10 @@ let messageEl = document.getElementById("message-el") let sumEl = document.getElementById("sum-el") let cardsEl = document.getElementById("cards-el") // 3. Grab ahold of the player-el paragraph and store it in a variable called playerEl +let playerEl = document.getElementById("player-el") // 4. Render the player's name and chips in playerEl +playerEl.textContent = player.name + ": $" + player.chips function getRandomCard() { let randomNumber = Math.floor( Math.random()*13 ) + 1 diff --git a/3. Build a Blackjack game/53. Methods on object/index.js b/3. Build a Blackjack game/53. Methods on object/index.js index de2df3b1..0cae5088 100644 --- a/3. Build a Blackjack game/53. Methods on object/index.js +++ b/3. Build a Blackjack game/53. Methods on object/index.js @@ -1,8 +1,13 @@ let player = { name: "Per", chips: 200, + sayHello: function(){ + console.log("Hello!") + } } +player.sayHello() + let cards = [] let sum = 0 let hasBlackJack = false From bf49f0c96a0144e5d09aaa0b3b008097e362e75f Mon Sep 17 00:00:00 2001 From: VVPCodes Date: Tue, 15 Nov 2022 21:25:17 -0500 Subject: [PATCH 11/11] finished practice exercies --- .../1. Objects and functions/index.js | 16 ++++++++++++++-- 4. Practice time - part 2/2. if else/index.js | 16 ++++++++++++++-- .../3. Loops and arrays/index.js | 6 ++++++ .../index.js | 8 ++++++++ .../5. Logical operators/index.js | 6 ++++-- .../6. Rock papers scissors/index.js | 5 +++++ .../7. Sorting fruits/index.js | 18 +++++++++++++++++- 7 files changed, 68 insertions(+), 7 deletions(-) diff --git a/4. Practice time - part 2/1. Objects and functions/index.js b/4. Practice time - part 2/1. Objects and functions/index.js index ce48ca74..ffa1d38a 100644 --- a/4. Practice time - part 2/1. Objects and functions/index.js +++ b/4. Practice time - part 2/1. Objects and functions/index.js @@ -1,8 +1,20 @@ // Create a person object that contains three keys: name, age, and county. -// Use yourself as an example to set the values for name, age, and country + +let person = { + name: "Veronika", + age: 31, + country: "US" +} + // Create a function, logData(), that uses the person object to create a // string in the following format: // "Per is 35 years old and lives in Norway" -// Call the logData() function to verify that it works \ No newline at end of file +function logData() { + console.log(person.name + " is " + person.age + " years old and lives in " + person.country) +} + +// Call the logData() function to verify that it works + +logData(); \ No newline at end of file diff --git a/4. Practice time - part 2/2. if else/index.js b/4. Practice time - part 2/2. if else/index.js index 7eabce28..c5b40d39 100644 --- a/4. Practice time - part 2/2. if else/index.js +++ b/4. Practice time - part 2/2. if else/index.js @@ -1,4 +1,4 @@ -let age = 15 +let age = 45 // less than 6 years old -> free // 6 to 17 years old -> child discount @@ -7,4 +7,16 @@ let age = 15 // over 66 years old -> senior citizen discount // Create a conditional statement (if/else/else if) that logs out the discount -// the passenger will get based upon the value of the age variable \ No newline at end of file +// the passenger will get based upon the value of the age variable + +if (age < 6) { + console.log("Free") +} else if (age < 18){ + console.log("Child Discount") +} else if (age < 27) { + console.log("Student Discount") +} else if (age < 67) { + console.log("Full Price") +} else { + console.log("Senior Citizen Discount") +} diff --git a/4. Practice time - part 2/3. Loops and arrays/index.js b/4. Practice time - part 2/3. Loops and arrays/index.js index 8ace5085..64cacfcb 100644 --- a/4. Practice time - part 2/3. Loops and arrays/index.js +++ b/4. Practice time - part 2/3. Loops and arrays/index.js @@ -9,3 +9,9 @@ The 5 largest countries in the world: - Indinesia - Pakistan */ + +console.log("The 5 largest countries in the world:") +for (let i = 0; i < largeCountries.length; i++) { + console.log("- " + largeCountries[i]) +} + diff --git a/4. Practice time - part 2/4. push, pop, unshift, shift challenge/index.js b/4. Practice time - part 2/4. push, pop, unshift, shift challenge/index.js index fa50a31a..e3424ecb 100644 --- a/4. Practice time - part 2/4. push, pop, unshift, shift challenge/index.js +++ b/4. Practice time - part 2/4. push, pop, unshift, shift challenge/index.js @@ -5,3 +5,11 @@ let largeCountries = ["Tuvalu","India","USA","Indonesia","Monaco"] // Use push() & pop() and their counterparts unshift() & shift() // Google how to use unshift() and shift() +largeCountries.pop() +largeCountries.push("Pakistan") +largeCountries.shift() +largeCountries.unshift("China") + +console.log(largeCountries) + + diff --git a/4. Practice time - part 2/5. Logical operators/index.js b/4. Practice time - part 2/5. Logical operators/index.js index eb0d1930..0b72ece5 100644 --- a/4. Practice time - part 2/5. Logical operators/index.js +++ b/4. Practice time - part 2/5. Logical operators/index.js @@ -1,8 +1,10 @@ -let dayOfMonth = 13 +let dayOfMonth = 15 let weekday = "Friday" // If it is Friday the 13th, log out this spooky face: 😱 // Use the logical "AND operator" -> && - +if (dayOfMonth === 13 && weekday === "Friday") { + console.log("Scary!😱") +} diff --git a/4. Practice time - part 2/6. Rock papers scissors/index.js b/4. Practice time - part 2/6. Rock papers scissors/index.js index dc4958f6..97fdec1b 100644 --- a/4. Practice time - part 2/6. Rock papers scissors/index.js +++ b/4. Practice time - part 2/6. Rock papers scissors/index.js @@ -2,4 +2,9 @@ let hands = ["rock", "paper", "scissor"] // Create a function that returns a random item from the array +function randomRPS() { + let result = hands[Math.floor(Math.random() * 3)] + return result +} +console.log(randomRPS()) diff --git a/4. Practice time - part 2/7. Sorting fruits/index.js b/4. Practice time - part 2/7. Sorting fruits/index.js index 37ac9124..e7f9773a 100644 --- a/4. Practice time - part 2/7. Sorting fruits/index.js +++ b/4. Practice time - part 2/7. Sorting fruits/index.js @@ -1,4 +1,4 @@ -let fruit = ["🍎", "🍊", "🍎", "🍎", "🍊"] +let fruit = ["apple", "orange", "apple", "apple", "orange"] let appleShelf = document.getElementById("apple-shelf") let orangeShelf = document.getElementById("orange-shelf") @@ -6,3 +6,19 @@ let orangeShelf = document.getElementById("orange-shelf") // and the oranges onto the orangeShelf. Use a for loop, // a conditional statement, and the textContent property. +function sortFruit() { + + for (i = 0; i < fruit.length; i++) { + if (fruit[i] === "apple") { + appleShelf.textContent += fruit[i] + " " + console.log(appleShelf.textContent) + } else if (fruit[i] === "orange") { + orangeShelf.textContent += fruit[i] + " " + console.log(orangeShelf.textContent) + } + } +} + +sortFruit() + +// video paused on 4:33:57 \ No newline at end of file