Skip to content

Instantly share code, notes, and snippets.

@Joejhorn
Forked from anonymous/script.js
Created December 13, 2017 01:32
Show Gist options
  • Save Joejhorn/12a8f24fbcd3f9375c46d13b67f110e8 to your computer and use it in GitHub Desktop.
Save Joejhorn/12a8f24fbcd3f9375c46d13b67f110e8 to your computer and use it in GitHub Desktop.
YYzbEO
const menu = {
_courses: {
_appetizers: [],
_mains: [],
_desserts: [],
get appetizers() {
return this._appetizers;
},
set appetizer(appetizersIn) {
this._appetizer = appetizersIn;
},
get mains() {
return this._mains;
},
set mains(mainsIn) {
this._mains = mainsIn;
},
get desserts() {
return this._desserts;
},
set desserts(dessertsIn) {
this._desserts = dessertsIn;
},
},
get courses() {
return {
appetizers: this._courses.appetizer,
mains: this._courses.mains,
desserts: this._courses.desserts,
};
},
addDishToCourse(courseName, dishName, dishPrice){
const dish = {
name: dishName,
price: dishPrice,
};
this._courses[courseName].push(dish);
},
getRandomDishFromCourse(courseName){
const dishes = this._courses[courseName];
const randomIndex = Math.floor(Math.random() * dishes.length *1);
return dishes[randomIndex];
},
generateRandomMeal(){
const appSelection = this.getRandomDishFromCourse('appetizers');
const mainSelection = this.getRandomDishFromCourse('mains');
const dessertSelection = this.getRandomDishFromCourse('desserts');
const totalPrice = appSelection.price + mainSelection.price + dessertSelection.price;
return `Your meal is ${appSelection.name}, ${mainSelection.name}, ${dessertSelection.name}. The price is $${totalPrice.toFixed(2)}.`;
},
};
// menu.addDishToCourse('appetizer', 'Cheese', 1);
// menu.addDishToCourse('appetizer', 'Cheese1', 1);
// menu.addDishToCourse('appetizer', 'Cheese2', 1);
// menu.addDishToCourse('mains', 'steak', 1);
// menu.addDishToCourse('mains', 'steak1', 1);
// menu.addDishToCourse('mains', 'steak2', 1);
// menu.addDishToCourse('desserts', 'pie', 1);
// menu.addDishToCourse('desserts', 'pie1', 1);
// menu.addDishToCourse('desserts', 'pie2', 1);
menu.addDishToCourse('appetizers', 'Ceasar Salad', 4.25);
menu.addDishToCourse('appetizers', 'Prawn Coctail', 4.25);
menu.addDishToCourse('appetizers', 'Garlic Bread', 3.50);
menu.addDishToCourse('mains', 'Lasagna', 9.75);
menu.addDishToCourse('mains', 'Ribeye Steak', 14.95);
menu.addDishToCourse('mains', 'Fish & Chips', 12.95);
menu.addDishToCourse('desserts', 'Cheese Cake', 4.50);
menu.addDishToCourse('desserts', 'Creme Brule', 4.25);
menu.addDishToCourse('desserts', 'Cheese Board', 3.25);
var output = menu.generateRandomMeal();
console.log(output);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment