From d2f36c722b436bf955bd482739b468ecd574165e Mon Sep 17 00:00:00 2001 From: Victor Hugo Date: Mon, 2 Jun 2025 15:35:28 +0200 Subject: [PATCH 1/3] iteration 1 solved --- src/clue.js | 135 ++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 132 insertions(+), 3 deletions(-) diff --git a/src/clue.js b/src/clue.js index 58d8608ab..2818bed06 100644 --- a/src/clue.js +++ b/src/clue.js @@ -2,15 +2,144 @@ // Suspects Array -const suspectsArray = []; +const suspectsArray = [ + { + firstName: "Jacob", + lastName: "Green", + occupation: "Entrepreneur", + age: 45, + description: "He has a lot of connections", + image: "https://pbs.twimg.com/profile_images/506787499331428352/65jTv2uC.jpeg", + color: "green" + }, + { + firstName: "Doctor", + lastName: "Orchid", + occupation: "Scientist", + age: 26, + description: "PhD in plant toxicology. Adopted daughter of Mr. Boddy", + image: "http://www.radiotimes.com/uploads/images/Original/111967.jpg", + color: "white" + }, + { + firstName: "Victor", + lastName: "Plum", + occupation: "Designer", + age: 22, + description: "Billionaire video game designer", + image: "https://66.media.tumblr.com/ee7155882178f73b3781603f0908617c/tumblr_phhxc7EhPJ1w5fh03_540.jpg", + color: "purple" + }, + { + firstName: "Eleanor", + lastName: "Peacock", + occupation: "Socialité", + age: 36, + description: "She is from a wealthy family and uses her status and money to earn popularity", + image: "https://metrouk2.files.wordpress.com/2016/07/mrs-peacock.jpg", + color: "blue" + }, + { + firstName: "Jack", + lastName: "Mustard", + occupation: "Retired Football player", + age: 62, + description: "He is a former football player who tries to get by on his former glory", + image: "https://static.independent.co.uk/s3fs-public/thumbnails/image/2016/07/04/08/unspecified-3.jpg", + color: "yellow" + } +]; // Rooms Array -const roomsArray = []; +const roomsArray = [ + { + name: "Dining Room" + }, + { + name: "Conservatory" + }, + { + name: "Kitchen" + }, + { + name: "Study" + }, + { + name: "Library" + }, + { + name: "Billiard Room" + }, + { + name: "Lounge" + }, + { + name: "Ballroom" + }, + { + name: "Hall" + }, + { + name: "Spa" + }, + { + name: "Living Room" + }, + { + name: "Observatory" + }, + { + name: "Theater" + }, + { + name: "Guest House" + }, + { + name: "Patio" + } +]; // Weapons Array -const weaponsArray = []; +const weaponsArray = [ + { + name: "rope", + weight: 10 + }, + { + name: "knife", + weight: 8 + }, + { + name: "candlestick", + weight: 2 + }, + { + name: "dumbbell", + weight: 30 + }, + { + name: "poison", + weight: 2 + }, + { + name: "axe", + weight: 15 + }, + { + name: "bat", + weight: 13 + }, + { + name: "trophy", + weight: 25 + }, + { + name: "pistol", + weight: 20 + } +]; // ITERATION 2 From 83bf44c3a7157d73fc1afef5e06ce3a1706ba908 Mon Sep 17 00:00:00 2001 From: Victor Hugo Date: Mon, 2 Jun 2025 19:30:13 +0200 Subject: [PATCH 2/3] Iteration 2 solved --- src/clue.js | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/src/clue.js b/src/clue.js index 2818bed06..3fe1647b1 100644 --- a/src/clue.js +++ b/src/clue.js @@ -144,9 +144,31 @@ const weaponsArray = [ // ITERATION 2 -function selectRandom() {} +function selectRandom(array) { + if(array.length === 0){ + return undefined + }; -function pickMystery() {} + const randomIndex = Math.floor(Math.random() * array.length); + + return array[randomIndex]; +} + +function pickMystery() { + const randomSuspect = selectRandom(suspectsArray); + const randomWeapon = selectRandom(weaponsArray); + const randomRoom = selectRandom(roomsArray); + + const mysteryObj = { + suspect: randomSuspect, + weapon: randomWeapon, + room: randomRoom, + }; + + // returns an object with three properties: suspect, weapon and room + console.log(mysteryObj) + return mysteryObj; +} // ITERATION 3 From 0db4c915d4926948e899de148c205edf6857146b Mon Sep 17 00:00:00 2001 From: Victor Hugo Date: Mon, 2 Jun 2025 19:39:57 +0200 Subject: [PATCH 3/3] Solved LAB --- src/clue.js | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/src/clue.js b/src/clue.js index 3fe1647b1..444576e8b 100644 --- a/src/clue.js +++ b/src/clue.js @@ -30,6 +30,15 @@ const suspectsArray = [ image: "https://66.media.tumblr.com/ee7155882178f73b3781603f0908617c/tumblr_phhxc7EhPJ1w5fh03_540.jpg", color: "purple" }, + { + firstName: "Kasandra", + lastName: "Scarlet", + occupation: "Actor", + age: 31, + description: "She is an A-list movie star with a dark past", + image: "https://www.radiotimes.com/uploads/images/Original/111967.jpg", + color: "red" + }, { firstName: "Eleanor", lastName: "Peacock", @@ -149,6 +158,8 @@ function selectRandom(array) { return undefined }; + console.log("esta array: ", array) + const randomIndex = Math.floor(Math.random() * array.length); return array[randomIndex]; @@ -166,12 +177,14 @@ function pickMystery() { }; // returns an object with three properties: suspect, weapon and room - console.log(mysteryObj) return mysteryObj; } // ITERATION 3 -function revealMystery() {} +function revealMystery(obj) { + const revealMsg = `${obj.suspect.firstName} ${obj.suspect.lastName} killed Mr. Boddy using the ${obj.weapon.name} in the ${obj.room.name}!` + return revealMsg; +}