Skip to content

completed mvp wo stretch #333

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
142 changes: 91 additions & 51 deletions index.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ When doing these tasks, we recommend using console.log to test the output of you
This will usually entail console logging the answer directly or console logging the invocation (call) of the function so when it
returns a value, that value will be logged to the console. An example of this would be: console.log(theFunction(value1,value2))
*/

/*
Task 1a - Voting Age (not auto tested)

Expand All @@ -20,8 +19,13 @@ Do the following:
HINT: no function required
*/

const votingAge = 18;


if(votingAge >= 18){
console.log('task 1 a:', true);
}else{
console.log('task 1 a:', false);
}
/*
Task 1b - Values (not auto tested)

Expand All @@ -33,10 +37,15 @@ Do the following:

HINT: no function required
*/
let dog = 'Ada';
let behaviour = 'bad';




if (behaviour === 'bad'){
dog = 'Noa';
}else{
dog = 'Ada';
}
console.log('task 1 b;', dog);

/*
Task 1c - Convert Strings to Numbers (not auto tested)
Expand All @@ -48,6 +57,8 @@ Do the following:

HINT: look up the Number method
*/
const party = "1999";
console.log('task 1c:', Number(party));



Expand All @@ -60,12 +71,10 @@ Do the following:
2. Receive the parameters: a and b
3. Multiply a and b and return the answer
*/

function multiply(num1, num2){
return num1 * num2;
}


console.log('1d:', multiply(4, 5));

/*🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀 Task 2 🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀*/

Expand All @@ -77,10 +86,10 @@ Do the following:
3. Return the newly calculated age
*/

function dogYears(/*add your code here*/){
/*add your code here*/
function dogYears(age){
return age * 7;
}

console.log('2:', dogYears(31));


/*🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀 Task 3 🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀*/
Expand Down Expand Up @@ -108,33 +117,31 @@ Puppies less than 1 year
4 - 7 months 5% of their body weight
7 - 12 months 4% of their body weight

NOTE: If done correctly, a weight of 15 lbs and age of 1 year would return 0.44999999999999996
NOTE 2: This is a great time to check the tests to see what it expects, versus what is actually
returned from your function. This is an example of the output to look for on each test point.
● hungryDogFunction › Dog is 1 year and is 5lbs or less

expect(received).toBe(expected) // Object.is equality

Expected: 0.2
Received: undefined

21 | describe('hungryDogFunction', ()=>{
22 | it('Dog is 1 year and is 5lbs or less', ()=>{
> 23 | expect(functions.hungryDog(4, 1)).toBe(0.2);
|
^
24 | })

Notice the expected and received, expected is what the test is looking for, and received is what was actually returned from this function. You can also see it's passing in two values, the number 4 and the number 1.
So, on this one test, the weight would be 4 pounds, and the age would be 1 years old. It's expecting your function to return a decimal number of 0.2
*/

function hungryDog(/*add your code here*/){
/*add your code here*/
NOTE: If done correctly, a weight of 15 lbs and age of 1 year would return 0.44999999999999996*/
function hungryDog(weight, age){
if(age >= 1 && weight <= 5){
return weight * 0.05;
}else if(age >= 1 && weight >= 6 && weight <= 10){
return weight * 0.04;
}else if(age >= 1 && weight >= 11 && weight <= 15){
return weight * 0.03;
}else if (age >= 1 && weight > 15){
return weight * 0.02;
}else if (age <= 1 && age >= 0.583){
return weight * 0.04;
}else if (age < 0.583 && age >= 0.333){
return weight * 0.05;
}else if (age < 0.333){
return weight * 0.10;
}else{
return 'please try again';
}
}



console.log('3;', hungryDog(15, 1));

/*🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀 Task 4 🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀*/

// Rock, Paper, Scissors - Let's play against the computer!
Expand All @@ -156,11 +163,32 @@ Use the game function below to do the following:
RULES OF THE GAME: Scissors beats Paper | Paper beats Rock | Rock beats Scissors | Or there's a tie
*/

function game(user, computer){
/*add your code here*/

let computer = Math.random();

if(computer <= 0.34){
computer = 'rock';
}else if(computer <= 0.67){
computer = 'paper';
}else if(computer > 0.67){
computer = 'scissors';
}

function game(user, computer){
if(user === computer){
return `it's a tie`;
}else if(user === 'rock' && computer === 'scissors'){
return `you win!`;
}else if(user === 'paper' && computer === 'rock'){
return `you win!`;
}else if(user === 'scissors' && computer === 'paper'){
return `you win!`;
}else{
return `you lose!`;
}
}

console.log('4:', game('paper', computer));

/*🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀 Task 5 🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀*/

Expand All @@ -173,10 +201,10 @@ Using the miles function below do the following:
3. Return the number of miles
*/

function miles(/*add your code here*/){
/*add your code here*/
function miles(km){
return km * 0.621371;
}

console.log('5a:', miles(2));


//Task 5b - Centimeters to Feet
Expand All @@ -187,9 +215,13 @@ Using the feet function below do the following:
3. Return number of feet
*/

function feet(/*add your code here*/){
/*add your code here*/



function feet(cm){
return cm / 30.48;
}
console.log('5b:', feet(160));



Expand All @@ -201,16 +233,14 @@ Using the annoyingSong function below do the following:
1. Receive a starting number
2. The annoying song function should return the following string exactly one time:

"{number you gave as an argument} bottles of soda on the wall, {number you gave as an argument} bottles of soda, take one down pass it around {number you gave as an argument minus 1} bottles of soda on the wall"

3. Outside of the function, Make a loop that invokes annoying song with a number that decreases until it gets to 1 bottle left.
4. Each time the annoyingSong is run from this loop, it should console.log the string that was returned.
*/

function annoyingSong(/*add your code here*/){
/*add your code here*/
function annoyingSong(number){
for(let i = number; i > 0; i --){
return `${i} bottles of soda on the wall, ${i} bottles of soda, take one down pass it around ${i -1} bottles of soda on the wall`;
}
}

console.log(annoyingSong(8));

/*🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀 Task 7 🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀*/

Expand All @@ -227,10 +257,20 @@ Using the grade function below do the following:
below should return 'you got an F'
*/

function grade(/*Your Code here */){
/*Your Code here */
function grade(number){
if(number >= 90){
return 'you got an A';
}else if(number < 90 && number >= 80){
return `you got a B`;
}else if(number >= 70 && number < 80){
return `you got a C`;
}else if(number >= 60 && number < 70){
return `you got a D`;
}else if(number < 60){
return `you got an F`;
}

}
console.log(grade(85));


/*💪💪💪💪💪💪💪💪💪💪 Stretch 💪💪💪💪💪💪💪💪💪💪*/
Expand Down