From 920a22b55a1942bf605bf2ebe2dd3844de5897bf Mon Sep 17 00:00:00 2001 From: Alba Perez Date: Tue, 22 Jul 2025 16:33:54 +0200 Subject: [PATCH] lab done --- src/clue.js | 189 ++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 182 insertions(+), 7 deletions(-) diff --git a/src/clue.js b/src/clue.js index 58d8608ab..e8a6807d9 100644 --- a/src/clue.js +++ b/src/clue.js @@ -2,25 +2,200 @@ // 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", + 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", + 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 -function selectRandom() {} +function selectRandom(cards) { + if (cards.length === 0) { + return undefined; + } + + let randomCards = Math.floor(Math.random() * cards.length); + let randomCard = cards[randomCards]; + return randomCard; +} -function pickMystery() {} +function pickMystery() { + let suspect = selectRandom(suspectsArray); + let weapon = selectRandom(weaponsArray); + let room = selectRandom(roomsArray); + return { + suspect: suspect, + weapon: weapon, + room: room, + }; +} // ITERATION 3 -function revealMystery() {} +function revealMystery(reveal) { + let firstName = reveal.suspect.firstName; + let lastName = reveal.suspect.lastName; + let weapon = reveal.weapon.name; + let room = reveal.room.name; + + let finalMessage = + firstName + + " " + + lastName + + " killed Mr. Boddy using the " + + weapon + + " in the " + + room + + "!"; + return finalMessage; +}