diff --git a/src/clue.js b/src/clue.js index 58d8608ab..9d4b2dcd9 100644 --- a/src/clue.js +++ b/src/clue.js @@ -1,26 +1,116 @@ -// ITERATION 1 +// ---------------------------- +// SUSPECTS +// ---------------------------- +const suspectsArray = [ + { + firstName: "Jacob", + lastName: "Green", + occupation: "Entrepreneur", + age: 45, + description: "He has a lot of connections", + image: "https://www.example.com/green.png", + color: "green", + }, + { + firstName: "Doctor", + lastName: "Orchid", + occupation: "Scientist", + age: 26, + description: "PhD in plant toxicology", + image: "https://www.example.com/orchid.png", + color: "white", + }, + { + firstName: "Victor", + lastName: "Plum", + occupation: "Designer", + age: 22, + description: "Billionaire video game designer", + image: "https://www.example.com/plum.png", + color: "purple", + }, + { + firstName: "Kasandra", + lastName: "Scarlet", + occupation: "Actor", + age: 31, + description: "Famous movie star", + image: "https://www.example.com/scarlet.png", + color: "red", + }, + { + firstName: "Eleanor", + lastName: "Peacock", + occupation: "Socialité", + age: 36, + description: "She is from a wealthy family", + image: "https://www.example.com/peacock.png", + color: "blue", + }, + { + firstName: "Jack", + lastName: "Mustard", + occupation: "Retired Football player", + age: 62, + description: "Former football player with a lot of connections", + image: "https://www.example.com/mustard.png", + color: "yellow", + }, +]; -// Suspects Array +// ---------------------------- +// WEAPONS +// ---------------------------- +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 }, +]; -const suspectsArray = []; +// ---------------------------- +// ROOMS +// ---------------------------- +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" }, +]; -// Rooms Array +// ---------------------------- +// FUNCTIONS +// ---------------------------- +function selectRandom(array) { + if (array.length === 0) return undefined; + const randomIndex = Math.floor(Math.random() * array.length); + return array[randomIndex]; +} -const roomsArray = []; - -// Weapons Array - -const weaponsArray = []; - - -// ITERATION 2 - -function selectRandom() {} - -function pickMystery() {} - - -// ITERATION 3 - -function revealMystery() {} +function pickMystery() { + return { + suspect: selectRandom(suspectsArray), + weapon: selectRandom(weaponsArray), + room: selectRandom(roomsArray), + }; +} +function revealMystery(envelope) { + return `${envelope.suspect.firstName} ${envelope.suspect.lastName} killed Mr. Boddy using the ${envelope.weapon.name} in the ${envelope.room.name}!`; +}