diff --git a/, b/, new file mode 100644 index 0000000..e69de29 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..40b878d --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +node_modules/ \ No newline at end of file diff --git a/DIYpizza.js b/DIYpizza.js new file mode 100644 index 0000000..933ed5a --- /dev/null +++ b/DIYpizza.js @@ -0,0 +1,109 @@ +const rls = require("readline-sync"); +const pizzaType = ["vegan", "meatLover", "veggie"]; +const veganPizza = [ + "Vegan Parmesian", + "Mushrooms", + "Cauliflower", + "Fresh Basil", + "Zuchini", +]; +const meatLoverPizza = [ + "Bacon", + "Hot Sausage", + "Cheese", + "Chicken", + "Pepperoni", +]; +const veggiePizza = [ + "Baby Spinach", + "Mozzarella", + "Artichoke", + "Bell Pepper", + "Olives", +]; +const name = rls.question("Welcome, What is your name:\n"); +let toppings = []; +let numOfToppings = 3; + +function play() { + console.log("Hi " + name + " nice to meet you! \n"); + console.log("Let's make three different Pizzas!"); + console.log("\nOne for you and the other two for a friend/s"); + console.log("Your options are vegan, meatLover, and veggie."); + console.log( + "You will need to add 3 toppings out of 5 options provided for you." + ); + console.log( + "Once you are done with all three pizzas, you can enjoy it for free. \n" + ); + + if (rls.keyInYN("Ready to DIY Pizza?")) { + startGame(); + } else { + quitGame(); + } +} + +function preparePizza(type, pizzaToppings) { + console.log(pizzaToppings.join()); + + while (numOfToppings >= 1) { + const userTopping = rls.question("Enter " + type + " Toppings:\n"); + + if (pizzaToppings.includes(userTopping)) { + toppings.push(userTopping); + numOfToppings--; + console.log("You have " + numOfToppings + " remaining"); + } else { + console.log(userTopping + " is not " + type + " topping!"); + console.log(pizzaToppings.join()); + } + } +} + +function startGame() { + numOfToppings = 3; + const index = rls.keyInSelect(pizzaType, "Which pizza would you like?"); + console.log("You have selected " + pizzaType[index] + " pizza."); + if (pizzaType[index] === "vegan") { + preparePizza(pizzaType[index], veganPizza); + } else if (pizzaType[index] === "meatLover") { + preparePizza(pizzaType[index], meatLoverPizza); + } else { + preparePizza(pizzaType[index], veggiePizza); + } + numberOfSlices(); + review(pizzaType[index]); +} +function numberOfSlices() { + let slice = ""; + while (slice !== "6" && slice !== "8" && slice !== "12") { + slice = rls.question( + "How many slices would you like this pizza cut? Please choose number of slices:6 slices, 8 slices, or 12 slices.\n" + ); + if (slice === "6") { + console.log("You cut this pizza into 6 slices."); + } else if (slice === "8") { + console.log("You cut this into 8 slices."); + } else if (slice === "12") { + console.log("You cut this pizza into 12 slices"); + } else { + console.log("Invalid number of pizza slices. "); + } + } +} +function review(userPizzaToppings) { + let order = rls.keyInYN("Will that be all?"); + if (order) { + console.log("You have selected " + toppings); //.join()) + console.log("Enjoy your " + userPizzaToppings + " pizza!"); + quitGame(); + } else { + startGame(); + } +} +function quitGame() { + console.log("Come back Soon!"); + process.exit(); +} +play(); diff --git a/README.md b/README.md index f0a4dd4..efc9db9 100644 --- a/README.md +++ b/README.md @@ -68,7 +68,7 @@ let yourVariableHere = readline.question("Enter your name: ") Replace the link below with the link to your Trello project: -[Trello](https://trello.com/b/vbKtMOKj/text-based-adventure-project-plan) +[Trello](https://trello.com/b/dzhj7Ute/text-based-adventure-project-plan) ## Rubric diff --git a/package-lock.json b/package-lock.json index 4e5e2be..c047f7c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,8 +1,25 @@ { "name": "FSW-Text-Based-Adventure", "version": "1.0.0", - "lockfileVersion": 1, + "lockfileVersion": 2, "requires": true, + "packages": { + "": { + "version": "1.0.0", + "license": "ISC", + "dependencies": { + "readline-sync": "^1.4.10" + } + }, + "node_modules/readline-sync": { + "version": "1.4.10", + "resolved": "https://registry.npmjs.org/readline-sync/-/readline-sync-1.4.10.tgz", + "integrity": "sha512-gNva8/6UAe8QYepIQH/jQ2qn91Qj0B9sYjMBBs3QOB8F2CXcKgLxQaJRP76sWVRQt+QU+8fAkCbCvjjMFu7Ycw==", + "engines": { + "node": ">= 0.8.0" + } + } + }, "dependencies": { "readline-sync": { "version": "1.4.10", diff --git a/textBasedAdventure.js b/textBasedAdventure.js deleted file mode 100644 index d392b19..0000000 --- a/textBasedAdventure.js +++ /dev/null @@ -1,5 +0,0 @@ -const readline1 = require('readline-sync') - -let nameInput = readline.question("Enter your name: ") - -console.log(`Hello ${nameInput}! Welcome to my game.`)