From d97663e6f536091c506a460763a520b21303f6fc Mon Sep 17 00:00:00 2001 From: fowobi <109865505+fowobi@users.noreply.github.com> Date: Mon, 20 Feb 2023 20:39:19 +0000 Subject: [PATCH 1/9] mandatory part update finish the mandatory part --- mandatory/1-syntax-errors.js | 11 ++++++----- mandatory/2-logic-error.js | 8 ++++---- mandatory/3-function-output.js | 3 +++ mandatory/4-tax.js | 9 +++++++-- 4 files changed, 20 insertions(+), 11 deletions(-) diff --git a/mandatory/1-syntax-errors.js b/mandatory/1-syntax-errors.js index d9e004465..5ae9a7121 100644 --- a/mandatory/1-syntax-errors.js +++ b/mandatory/1-syntax-errors.js @@ -1,16 +1,17 @@ // There are syntax errors in this code - can you fix it to pass the tests? -function addNumbers(a b c) { +function addNumbers(a,b, c) { return a + b + c; } -function introduceMe(name, age) - return `Hello, my {name}` is "and I am $age years old`; +function introduceMe(name, age) { + return "Hello, my name is " + name + " and I am " + age + " years old"; +} function getTotal(a, b) { - total = a ++ b; + let total = a + b; - return "The total is total"; + return `The total is ${total}`; } /* diff --git a/mandatory/2-logic-error.js b/mandatory/2-logic-error.js index 9eb8c8cd7..5152c982c 100644 --- a/mandatory/2-logic-error.js +++ b/mandatory/2-logic-error.js @@ -1,16 +1,16 @@ // The syntax for these functions is valid but there are some errors, find them and fix them function trimWord(word) { - return wordtrim(); + return word.trim(); } function getStringLength(word) { - return "word".length(); + return word.length; } function multiply(a, b, c) { - a * b * c; - return; + + return a * b * c; } /* diff --git a/mandatory/3-function-output.js b/mandatory/3-function-output.js index 5a953ba60..2ae2fc628 100644 --- a/mandatory/3-function-output.js +++ b/mandatory/3-function-output.js @@ -1,4 +1,6 @@ // Add comments to explain what this function does. You're meant to use Google! + + function getRandomNumber() { return Math.random() * 10; } @@ -11,6 +13,7 @@ function combine2Words(word1, word2) { function concatenate(firstWord, secondWord, thirdWord) { // Write the body of this function to concatenate three words together. // Look at the test case below to understand what this function is expected to return. + return firstWord + '' + secondWord + '' + thirdWord; } /* diff --git a/mandatory/4-tax.js b/mandatory/4-tax.js index ba77c7ae2..b4acf7e92 100644 --- a/mandatory/4-tax.js +++ b/mandatory/4-tax.js @@ -5,7 +5,9 @@ Sales tax is 20% of the price of the product. */ -function calculateSalesTax() {} +function calculateSalesTax(price) { + return price * 1.2; +} /* CURRENCY FORMATTING @@ -17,7 +19,10 @@ function calculateSalesTax() {} Remember that the prices must include the sales tax (hint: you already wrote a function for this!) */ -function addTaxAndFormatCurrency() {} +function addTaxAndFormatCurrency(price) { + let pricewithtax = calculateSalesTax(price); + return '£' + pricewithtax.toFixed(2); +} /* =================================================== From b7b6b9c942fb170151db0ba63d7728414b8df612 Mon Sep 17 00:00:00 2001 From: fowobi <109865505+fowobi@users.noreply.github.com> Date: Tue, 21 Feb 2023 12:37:51 +0000 Subject: [PATCH 2/9] update on my answer mandatory answer on JavaScript core1 --- .vscode/launch.json | 31 +++++++++++++++++++++++++++++++ extra/1-currency-conversion.js | 10 ++++++++-- extra/2-piping.js | 18 ++++++++++-------- extra/3-magic-8-ball.js | 6 ++++-- mandatory/3-function-output.js | 12 +++++------- 5 files changed, 58 insertions(+), 19 deletions(-) create mode 100644 .vscode/launch.json diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 000000000..ed82efc1f --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,31 @@ +{ + // 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 via NPM", + "request": "launch", + "runtimeArgs": [ + "run-script", + "debug" + ], + "runtimeExecutable": "npm", + "skipFiles": [ + "/**" + ], + "type": "node" + }, + + { + "type": "node", + "request": "launch", + "name": "Launch Program", + "skipFiles": [ + "/**" + ], + "program": "${workspaceFolder}\\mandatory\\1-syntax-errors.js" + } + ] +} \ No newline at end of file diff --git a/extra/1-currency-conversion.js b/extra/1-currency-conversion.js index 75b3c6aab..bcfb8ff32 100644 --- a/extra/1-currency-conversion.js +++ b/extra/1-currency-conversion.js @@ -5,7 +5,9 @@ Write a function that converts a price to USD (exchange rate is 1.4 $ to £) */ -function convertToUSD() {} +function convertToUSD(price) { + return price * 1.4; +} /* CURRENCY CONVERSION @@ -15,7 +17,11 @@ function convertToUSD() {} They have also decided that they should add a 1% fee to all foreign transactions, which means you only convert 99% of the £ to BRL. */ -function convertToBRL() {} +function convertToBRL(price) { + let priceAfterFee = price *0.99; + let priceInBRL =priceAfterFee *5.7; + return Math.round(priceInBRL * 100) /100; +} /* ======= TESTS - DO NOT MODIFY ===== There are some Tests in this file that will help you work out if your code is working. diff --git a/extra/2-piping.js b/extra/2-piping.js index b4f8c4c1b..9cdd90f6e 100644 --- a/extra/2-piping.js +++ b/extra/2-piping.js @@ -16,26 +16,28 @@ the final result to the variable goodCode */ -function add() { +function add(a,b) { + return a + b; } -function multiply() { - +function multiply(a,b) { +return a * b; } -function format() { - +function format(value) { +return '£' + value; } const startingValue = 2; // Why can this code be seen as bad practice? Comment your answer. -let badCode = +let badCode = format(multiply(add(startingValue,10), 2)); /* BETTER PRACTICE */ - -let goodCode = +let sum = add(startingValue,10); +let doubleSum = multiply(sum,2); +let goodCode = format(doubleSum); /* ======= TESTS - DO NOT MODIFY ===== There are some Tests in this file that will help you work out if your code is working. diff --git a/extra/3-magic-8-ball.js b/extra/3-magic-8-ball.js index 46f65f928..04b8d67bb 100644 --- a/extra/3-magic-8-ball.js +++ b/extra/3-magic-8-ball.js @@ -1,3 +1,5 @@ + +const {toBeOneOf} = require ('jest-extended'); /** Let's peer into the future using a Magic 8 Ball! @@ -14,13 +16,13 @@ Below are the possible answers: - ## Very positive + ##  Very positive It is certain. It is decidedly so. Without a doubt. Yes - definitely. You may rely on it. - + ## Positive As I see it, yes. Most likely. diff --git a/mandatory/3-function-output.js b/mandatory/3-function-output.js index 2ae2fc628..53852fb4b 100644 --- a/mandatory/3-function-output.js +++ b/mandatory/3-function-output.js @@ -1,19 +1,17 @@ -// Add comments to explain what this function does. You're meant to use Google! - - +// Returns a random number between 0 (inclusive) and 10 (exclusive) function getRandomNumber() { return Math.random() * 10; } -// Add comments to explain what this function does. You're meant to use Google! +// Combines two input words into a single word by concatenating them function combine2Words(word1, word2) { return word1.concat(word2); } +// Concatenates three input words into a single string function concatenate(firstWord, secondWord, thirdWord) { - // Write the body of this function to concatenate three words together. - // Look at the test case below to understand what this function is expected to return. - return firstWord + '' + secondWord + '' + thirdWord; + // The function concatenates the firstWord, secondWord, and thirdWord using the + operator, which concatenates strings. + return firstWord.toString() + '' + secondWord.toString() + '' + thirdWord.toString(); } /* From be8180bbc7c11b40c115ac9932c4552270b0e547 Mon Sep 17 00:00:00 2001 From: fowobi <109865505+fowobi@users.noreply.github.com> Date: Tue, 21 Feb 2023 13:45:30 +0000 Subject: [PATCH 3/9] update extra part update --- extra/3-magic-8-ball.js | 83 ++++++++++++++++++++++++++++++++++ mandatory/3-function-output.js | 5 +- 2 files changed, 86 insertions(+), 2 deletions(-) diff --git a/extra/3-magic-8-ball.js b/extra/3-magic-8-ball.js index 04b8d67bb..76006a44c 100644 --- a/extra/3-magic-8-ball.js +++ b/extra/3-magic-8-ball.js @@ -44,13 +44,82 @@ const {toBeOneOf} = require ('jest-extended'); Outlook not so good. Very doubtful. */ +const predictions = [ + "It is certain.", + "It is decidedly so.", + "Without a doubt.", + "Yes - definitely.", + "You may rely on it.", + "As I see it, yes.", + "Most likely.", + "Outlook good.", + "Yes.", + "Signs point to yes.", + "Reply hazy, try again.", + "Ask again later.", + "Better not tell you now.", + "Cannot predict now.", + "Concentrate and ask again.", + "Don't count on it.", + "My reply is no.", + "My sources say no.", + "Outlook not so good.", + "Very doubtful.", +]; +const vposArr = [ + "It is certain.", + "It is decidedly so.", + "Without a doubt.", + "Yes - definitely.", + "You may rely on it.", +]; +const posArr = [ + "As I see it, yes.", + "Most likely.", + "Outlook good.", + "Yes.", + "Signs point to yes.", +]; +const negArr = [ + "Reply hazy, try again.", + "Ask again later.", + "Better not tell you now.", + "Cannot predict now.", + "Concentrate and ask again.", +]; +const vnegArr = [ + "Don't count on it.", + "My reply is no.", + "My sources say no.", + "Outlook not so good.", + "Very doubtful.", +]; + + + + + + + + + + + + + + + // This should log "The ball has shaken!" // and return the answer. function shakeBall() { //Write your code in here + console.log("The ball has shaken!"); + let randomNum = Math.floor(Math.random() * 20) + 1; + return predictions[randomNum]; } + /* This function should say whether the answer it is given is - very positive @@ -60,9 +129,23 @@ function shakeBall() { This function should expect to be called with any value which was returned by the shakeBall function. */ +let answer = shakeBall(); function checkAnswer(answer) { //Write your code in here + if (vposArr.includes(answer)) { + return "very positive"; } +if (posArr.includes(answer)) { + return "positive"; +} +if (negArr.includes(answer)) { + return "negative"; +} +if (vnegArr.includes(answer)) { + return "very negative"; +} +} + /* ================================== diff --git a/mandatory/3-function-output.js b/mandatory/3-function-output.js index 53852fb4b..734f1de2c 100644 --- a/mandatory/3-function-output.js +++ b/mandatory/3-function-output.js @@ -4,14 +4,15 @@ function getRandomNumber() { } // Combines two input words into a single word by concatenating them -function combine2Words(word1, word2) { +function combine2Words(word1,word2) { + return word1.concat(word2); } // Concatenates three input words into a single string function concatenate(firstWord, secondWord, thirdWord) { // The function concatenates the firstWord, secondWord, and thirdWord using the + operator, which concatenates strings. - return firstWord.toString() + '' + secondWord.toString() + '' + thirdWord.toString(); + return firstWord +''+ secondWord +''+ thirdWord; } /* From 931f90509cbeb515bfdc0a3ac25361dbda2f8434 Mon Sep 17 00:00:00 2001 From: fowobi <109865505+fowobi@users.noreply.github.com> Date: Tue, 21 Feb 2023 19:53:35 +0000 Subject: [PATCH 4/9] update the 3-function 0utput answer to 3 function output --- mandatory/3-function-output.js | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/mandatory/3-function-output.js b/mandatory/3-function-output.js index 734f1de2c..484986270 100644 --- a/mandatory/3-function-output.js +++ b/mandatory/3-function-output.js @@ -1,18 +1,21 @@ -// Returns a random number between 0 (inclusive) and 10 (exclusive) +// Add comments to explain what this function does. You're meant to use Google! + + function getRandomNumber() { return Math.random() * 10; } -// Combines two input words into a single word by concatenating them -function combine2Words(word1,word2) { +// Add comments to explain what this function does. You're meant to use Google! +function combine2Words(word1, word2) { - return word1.concat(word2); + return word1 + word2; } -// Concatenates three input words into a single string function concatenate(firstWord, secondWord, thirdWord) { - // The function concatenates the firstWord, secondWord, and thirdWord using the + operator, which concatenates strings. - return firstWord +''+ secondWord +''+ thirdWord; + // Write the body of this function to concatenate three words together. + // Look at the test case below to understand what this function is expected to return. + return firstWord + " " + secondWord + " " + thirdWord; + } /* From 784c073af52a529b09d3b4f4e911a182e6e712f1 Mon Sep 17 00:00:00 2001 From: fowobi <109865505+fowobi@users.noreply.github.com> Date: Wed, 22 Feb 2023 17:47:47 +0000 Subject: [PATCH 5/9] update the mandatory part Adding comment --- mandatory/3-function-output.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/mandatory/3-function-output.js b/mandatory/3-function-output.js index 484986270..9aa9a0372 100644 --- a/mandatory/3-function-output.js +++ b/mandatory/3-function-output.js @@ -1,11 +1,12 @@ // Add comments to explain what this function does. You're meant to use Google! - +//This is a multiplication function,The multiplication assignment ( *= ) operator multiplies a variable by the value of the right operand and assigns the result to the variable. function getRandomNumber() { return Math.random() * 10; } // Add comments to explain what this function does. You're meant to use Google! +//This is a concatenate function,The concat() method is used to merge two or more arrays. This method does not change the existing arrays, but instead returns a new array function combine2Words(word1, word2) { return word1 + word2; From bc2c64fef5cf99b5c45850f9fa5e9395998131a7 Mon Sep 17 00:00:00 2001 From: fowobi <109865505+fowobi@users.noreply.github.com> Date: Wed, 22 Feb 2023 20:06:16 +0000 Subject: [PATCH 6/9] update comment added comment --- mandatory/3-function-output.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mandatory/3-function-output.js b/mandatory/3-function-output.js index 9aa9a0372..80cb15b19 100644 --- a/mandatory/3-function-output.js +++ b/mandatory/3-function-output.js @@ -6,7 +6,7 @@ function getRandomNumber() { } // Add comments to explain what this function does. You're meant to use Google! -//This is a concatenate function,The concat() method is used to merge two or more arrays. This method does not change the existing arrays, but instead returns a new array +//This is a concatenate function,The concat() method is used to merge two or more arrays. function combine2Words(word1, word2) { return word1 + word2; From 35bf0720bc005117ca415f817fec4e5b43dc4ab2 Mon Sep 17 00:00:00 2001 From: fowobi <109865505+fowobi@users.noreply.github.com> Date: Sat, 25 Feb 2023 20:21:41 +0000 Subject: [PATCH 7/9] update --- extra/1-currency-conversion.js | 10 +++- extra/2-piping.js | 16 +++--- extra/3-magic-8-ball.js | 96 +++++++++++++++++++++++++++++++++- mandatory/1-syntax-errors.js | 2 +- mandatory/3-function-output.js | 2 +- 5 files changed, 115 insertions(+), 11 deletions(-) diff --git a/extra/1-currency-conversion.js b/extra/1-currency-conversion.js index 75b3c6aab..ed9d55c9b 100644 --- a/extra/1-currency-conversion.js +++ b/extra/1-currency-conversion.js @@ -5,7 +5,9 @@ Write a function that converts a price to USD (exchange rate is 1.4 $ to £) */ -function convertToUSD() {} +function convertToUSD(price) { + return price * 1.4; +} /* CURRENCY CONVERSION @@ -15,7 +17,11 @@ function convertToUSD() {} They have also decided that they should add a 1% fee to all foreign transactions, which means you only convert 99% of the £ to BRL. */ -function convertToBRL() {} +function convertToBRL(price) { + let priceAfterFee = price * 0.99; + let priceInBRL = priceAfterFee * 5.7; + return Math.round(priceInBRL * 100) /100 +} /* ======= TESTS - DO NOT MODIFY ===== There are some Tests in this file that will help you work out if your code is working. diff --git a/extra/2-piping.js b/extra/2-piping.js index b4f8c4c1b..43bcb4667 100644 --- a/extra/2-piping.js +++ b/extra/2-piping.js @@ -16,26 +16,30 @@ the final result to the variable goodCode */ -function add() { +function add(a,b) { + return a + b; } -function multiply() { +function multiply(a,b) { + return a * b; } -function format() { +function format(value) { + return '£' + value; } const startingValue = 2; // Why can this code be seen as bad practice? Comment your answer. -let badCode = +let badCode =format(multiply(add(startingValue,10),2)); /* BETTER PRACTICE */ - -let goodCode = +let sum=add(startingValue, 10); +let doubledSum=multiply(sum, 2) +let goodCode =format(doubledSum) /* ======= TESTS - DO NOT MODIFY ===== There are some Tests in this file that will help you work out if your code is working. diff --git a/extra/3-magic-8-ball.js b/extra/3-magic-8-ball.js index 46f65f928..61c59194f 100644 --- a/extra/3-magic-8-ball.js +++ b/extra/3-magic-8-ball.js @@ -1,3 +1,5 @@ +const {toBeOneOf} = require ('jest-extended'); + /** Let's peer into the future using a Magic 8 Ball! @@ -45,10 +47,88 @@ // This should log "The ball has shaken!" // and return the answer. -function shakeBall() { + + const predictions = [ + "It is certain.", + "It is decidedly so.", + "Without a doubt.", + "Yes - definitely.", + "You may rely on it.", + "As I see it, yes.", + "Most likely.", + "Outlook good.", + "Yes.", + "Signs point to yes.", + "Reply hazy, try again.", + "Ask again later.", + "Better not tell you now.", + "Cannot predict now.", + "Concentrate and ask again.", + "Don't count on it.", + "My reply is no.", + "My sources say no.", + "Outlook not so good.", + "Very doubtful.", +]; +//Then I set up array for VeryPositive Answers only... + +const vposArr = [ + "It is certain.", + "It is decidedly so.", + "Without a doubt.", + "Yes - definitely.", + "You may rely on it.", +]; + +//Then positive answers only + +const posArr = [ + "As I see it, yes.", + "Most likely.", + "Outlook good.", + "Yes.", + "Signs point to yes.", +]; + +//then negative only... + +const negArr = [ + "Reply hazy, try again.", + "Ask again later.", + "Better not tell you now.", + "Cannot predict now.", + "Concentrate and ask again.", +]; + +//Then very negative only ... + +const vnegArr = [ + "Don't count on it.", + "My reply is no.", + "My sources say no.", + "Outlook not so good.", + "Very doubtful.", +]; + + + + + + + + //This should log "This ball has shaken!" + //and return the answer. + + function shakeBall(){ + //Write your code in here + + console.log ("The ball has shaken!"); + let randomNum = Math.floor(Math.random() * 20) + 1; + return predictions[randomNum]; } + /* This function should say whether the answer it is given is - very positive @@ -58,10 +138,24 @@ function shakeBall() { This function should expect to be called with any value which was returned by the shakeBall function. */ +let answer = shakeBall(); function checkAnswer(answer) { //Write your code in here + if (vposArr.includes(answer)) { + return "very positive"; + } + if (posArr.includes(answer)) { + return "positive"; + } + if (negArr.includes(answer)) { + return "negative"; + } + if (vnegArr.includes(answer)) { + return "very negative"; + } } + /* ================================== ======= TESTS - DO NOT MODIFY ===== diff --git a/mandatory/1-syntax-errors.js b/mandatory/1-syntax-errors.js index 5ae9a7121..858a3b58f 100644 --- a/mandatory/1-syntax-errors.js +++ b/mandatory/1-syntax-errors.js @@ -20,7 +20,7 @@ function getTotal(a, b) { There are some Tests in this file that will help you work out if your code is working. -To run the tests for just this one file, type `npm test -- --testPathPattern 1-syntax-errors` into your terminal +To run the tests for just this one file, type `npm test -- npm--testPathPattern 1-syntax-errors` into your terminal (Reminder: You must have run `npm install` one time before this will work!) =================================================== diff --git a/mandatory/3-function-output.js b/mandatory/3-function-output.js index 2ae2fc628..0049f6e9b 100644 --- a/mandatory/3-function-output.js +++ b/mandatory/3-function-output.js @@ -13,7 +13,7 @@ function combine2Words(word1, word2) { function concatenate(firstWord, secondWord, thirdWord) { // Write the body of this function to concatenate three words together. // Look at the test case below to understand what this function is expected to return. - return firstWord + '' + secondWord + '' + thirdWord; + return firstWord + ' ' + secondWord + ' ' + thirdWord; } /* From 07c15f4e5eabdcdbde61da4d77dbdc3dedce8e7b Mon Sep 17 00:00:00 2001 From: fowobi <109865505+fowobi@users.noreply.github.com> Date: Tue, 2 May 2023 20:59:21 +0100 Subject: [PATCH 8/9] update 2-pipping --- extra/2-piping.js | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/extra/2-piping.js b/extra/2-piping.js index 43bcb4667..77f87eeb4 100644 --- a/extra/2-piping.js +++ b/extra/2-piping.js @@ -21,25 +21,22 @@ function add(a,b) { } -function multiply(a,b) { - return a * b; +function multiply() { } -function format(value) { - return '£' + value; +function format() { } const startingValue = 2; // Why can this code be seen as bad practice? Comment your answer. -let badCode =format(multiply(add(startingValue,10),2)); +let badCode = /* BETTER PRACTICE */ -let sum=add(startingValue, 10); -let doubledSum=multiply(sum, 2) -let goodCode =format(doubledSum) + +let goodCode = /* ======= TESTS - DO NOT MODIFY ===== There are some Tests in this file that will help you work out if your code is working. From 360dbf808d46ebf16f099cb1028416420b31c990 Mon Sep 17 00:00:00 2001 From: fowobi <109865505+fowobi@users.noreply.github.com> Date: Tue, 2 May 2023 22:06:55 +0100 Subject: [PATCH 9/9] update mandatory and extra --- extra/1-currency-conversion.js | 6 +- extra/2-piping.js | 12 ++-- extra/3-magic-8-ball.js | 121 +++++++++++++++++++-------------- mandatory/3-function-output.js | 2 +- 4 files changed, 83 insertions(+), 58 deletions(-) diff --git a/extra/1-currency-conversion.js b/extra/1-currency-conversion.js index e99da1abd..3a0629e4d 100644 --- a/extra/1-currency-conversion.js +++ b/extra/1-currency-conversion.js @@ -17,7 +17,11 @@ function convertToUSD(price) { They have also decided that they should add a 1% fee to all foreign transactions, which means you only convert 99% of the £ to BRL. */ -function convertToBRL() {} +function convertToBRL(price) { + let priceAfterfee = price *0.99 + let priceInBRL = priceAfterfee *5.7; + return Math.round(priceInBRL *100) /100; +} /* ======= TESTS - DO NOT MODIFY ===== There are some Tests in this file that will help you work out if your code is working. diff --git a/extra/2-piping.js b/extra/2-piping.js index 77f87eeb4..601de2123 100644 --- a/extra/2-piping.js +++ b/extra/2-piping.js @@ -21,22 +21,26 @@ function add(a,b) { } -function multiply() { +function multiply(a,b) { + return a * b; } -function format() { +function format(value) { + return '£' + value; } const startingValue = 2; // Why can this code be seen as bad practice? Comment your answer. -let badCode = +let badCode = format(multiply(add(startingValue, 10), 2)); /* BETTER PRACTICE */ -let goodCode = +let sum = add(startingValue,10); +let doubleSum = multiply(sum,2); +let goodCode = format(doubleSum); /* ======= TESTS - DO NOT MODIFY ===== There are some Tests in this file that will help you work out if your code is working. diff --git a/extra/3-magic-8-ball.js b/extra/3-magic-8-ball.js index 4be09284c..33a14427f 100644 --- a/extra/3-magic-8-ball.js +++ b/extra/3-magic-8-ball.js @@ -1,3 +1,5 @@ + +const {toBeOneOf} = require ('jest-extended'); /** Let's peer into the future using a Magic 8 Ball! @@ -42,56 +44,57 @@ Outlook not so good. Very doubtful. */ -const predictions = [ - "It is certain.", - "It is decidedly so.", - "Without a doubt.", - "Yes - definitely.", - "You may rely on it.", - "As I see it, yes.", - "Most likely.", - "Outlook good.", - "Yes.", - "Signs point to yes.", - "Reply hazy, try again.", - "Ask again later.", - "Better not tell you now.", - "Cannot predict now.", - "Concentrate and ask again.", - "Don't count on it.", - "My reply is no.", - "My sources say no.", - "Outlook not so good.", - "Very doubtful.", -]; -const vposArr = [ - "It is certain.", - "It is decidedly so.", - "Without a doubt.", - "Yes - definitely.", - "You may rely on it.", -]; -const posArr = [ - "As I see it, yes.", - "Most likely.", - "Outlook good.", - "Yes.", - "Signs point to yes.", -]; -const negArr = [ - "Reply hazy, try again.", - "Ask again later.", - "Better not tell you now.", - "Cannot predict now.", - "Concentrate and ask again.", -]; -const vnegArr = [ - "Don't count on it.", - "My reply is no.", - "My sources say no.", - "Outlook not so good.", - "Very doubtful.", -]; + +// const predictions = [ +// "It is certain.", +// "It is decidedly so.", +// "Without a doubt.", +// "Yes - definitely.", +// "You may rely on it.", +// "As I see it, yes.", +// "Most likely.", +// "Outlook good.", +// "Yes.", +// "Signs point to yes.", +// "Reply hazy, try again.", +// "Ask again later.", +// "Better not tell you now.", +// "Cannot predict now.", +// "Concentrate and ask again.", +// "Don't count on it.", +// "My reply is no.", +// "My sources say no.", +// "Outlook not so good.", +// "Very doubtful.", +// ]; +// const vposArr = [ +// "It is certain.", +// "It is decidedly so.", +// "Without a doubt.", +// "Yes - definitely.", +// "You may rely on it.", +// ]; +// const posArr = [ +// "As I see it, yes.", +// "Most likely.", +// "Outlook good.", +// "Yes.", +// "Signs point to yes.", +// ]; +// const negArr = [ +// "Reply hazy, try again.", +// "Ask again later.", +// "Better not tell you now.", +// "Cannot predict now.", +// "Concentrate and ask again.", +// ]; +// const vnegArr = [ +// "Don't count on it.", +// "My reply is no.", +// "My sources say no.", +// "Outlook not so good.", +// "Very doubtful.", +// ]; @@ -183,8 +186,10 @@ const vnegArr = [ //and return the answer. function shakeBall(){ - - //Write your code in here +//Write your code in here +console.log("The ball has shaken!"); +let randomNum = Math.floor(Math.random() * 20) + 1; +return predictions[randomNum]; } @@ -200,6 +205,18 @@ const vnegArr = [ let answer = shakeBall(); function checkAnswer(answer) { //Write your code in here + if (vposArr.includes(answer)){ + return "very positive"; + } + if (posArr.includes(answer)){ + return "positive"; + } + if (negArr.includes(answer)){ + return "negative"; + } + if (vnegArr.includes(answer)){ + return "very negative"; + } } diff --git a/mandatory/3-function-output.js b/mandatory/3-function-output.js index cbd981771..83cd28b02 100644 --- a/mandatory/3-function-output.js +++ b/mandatory/3-function-output.js @@ -15,7 +15,7 @@ function combine2Words(word1, word2) { function concatenate(firstWord, secondWord, thirdWord) { // Write the body of this function to concatenate three words together. // Look at the test case below to understand what this function is expected to return. - return firstWord + '' + secondWord + '' + thirdWord; + return firstWord + ' ' + secondWord + ' ' + thirdWord; } /*