From df0d2967242b56bc0f72f8b64ab2dd1958400c14 Mon Sep 17 00:00:00 2001 From: Rafa Date: Wed, 29 Oct 2025 19:00:49 +0100 Subject: [PATCH 1/3] feat: Completed Iteration 1 and part of 2 --- src/clue.js | 153 ++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 149 insertions(+), 4 deletions(-) diff --git a/src/clue.js b/src/clue.js index 58d8608ab..3b6b7fa90 100644 --- a/src/clue.js +++ b/src/clue.js @@ -2,20 +2,165 @@ // 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: '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(cardRandom) { + if (!cardRandom.length) { + return undefined; + } + + return cardRandom[Math.floor(Math.random() * cardRandom.length)]; +} function pickMystery() {} From 1b107da4a415198aaeb0fb6778478bd1af261bf5 Mon Sep 17 00:00:00 2001 From: Rafa Date: Wed, 29 Oct 2025 19:07:30 +0100 Subject: [PATCH 2/3] feat: Completed Iteration 2 --- src/clue.js | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/clue.js b/src/clue.js index 3b6b7fa90..c3fc310f5 100644 --- a/src/clue.js +++ b/src/clue.js @@ -162,7 +162,14 @@ function selectRandom(cardRandom) { return cardRandom[Math.floor(Math.random() * cardRandom.length)]; } -function pickMystery() {} +function pickMystery() { + return card = + { + 'suspect': selectRandom(suspectsArray), + 'weapon': selectRandom(weaponsArray), + 'room': selectRandom(roomsArray) + }; +} // ITERATION 3 From c5a4d50d786f51e618de43e16c402210e6448bab Mon Sep 17 00:00:00 2001 From: Rafa Date: Wed, 29 Oct 2025 19:10:43 +0100 Subject: [PATCH 3/3] feat: Completed Iteration 3 --- src/clue.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/clue.js b/src/clue.js index c3fc310f5..abdee5f98 100644 --- a/src/clue.js +++ b/src/clue.js @@ -174,5 +174,7 @@ function pickMystery() { // ITERATION 3 -function revealMystery() {} +function revealMystery(mystery) { + return `${mystery.suspect.firstName} ${mystery.suspect.lastName} killed Mr. Boddy using the ${mystery.weapon.name} in the ${mystery.room.name}!`; +}