As a frequent diner, you love trying out new restaurants and experimenting with different foods. However, having to figure out what you want to order can be a time-consuming ordeal if the menu is big, and you want an easier way to be able to figure out what you are going to eat.
In this project, you’ll use JavaScript to randomly create a three-course meal based on what is available on a menu. We’ll keep running it until we’re satisfied with the generated meal!
빈번한 식사 때문에, 우리는 새로운 식당을 시도하고 다른 음식을 실험해려고 한다.
하지만, 메뉴가 크다면, 주문하려는 것을 파악하는 데 꽤 많은 시간을 소요한다. 먹을 것들을 더 쉽게 파악하고 싶어한다.
이 프로젝트에서, 너는 자바스크립트를 사용해서 메뉴에서 이용할 수 있는 것들을 바탕으로, 세 가지 코스 요리를 무작위적으로 만들어 낼 것이다.
우리는 생성된 식사에 대해서 만족할 때까지 계속해서 실행시킬 것이다.
(Getter 과 Setter 의 차이)
const menu = {
_courses : {
appetizers: [],
mains: [],
desserts: [],
},
get appetizers() {
return this._courses.appetizers;
},
get mains() {
return this._courses.mains;
},
get desserts() {
return this._courses.desserts;
},
set appetizers(appetizers){
return this._courses.appetizers = appetizers;
},
set mains(mains){
return this._courses.mains = mains;
},
set desserts(desserts){
return this._courses.desserts = desserts;
},
get courses(){
return {
appetizers : this.appetizers,
mains : this.mains,
desserts : this.desserts,
};
},
addDishToCourse(courseName, dishName, dishPrice){
const dish = {
name : dishName,
price : dishPrice,
};
return this._courses[courseName].push(dish);
},
getRandomDishFromCourse(courseName){
const dishes = this._courses[courseName];
const randomIndex = Math.floor(Math.random()*dishes.length);
return dishes[randomIndex];
},
generateRandomMeal() {
const appetizer = this.getRandomDishFromCourse('appetizers');
const main = this.getRandomDishFromCourse('mains');
const dessert = this.getRandomDishFromCourse('desserts');
const TotalCost = appetizer.price + main.price + dessert.price;
return `Your meal is ${appetizer.name},${main.name},${dessert.name} and The price is ${TotalCost}`;
}
};
menu.addDishToCourse('appetizers', 'Salmon Salad', 20000);
menu.addDishToCourse('appetizers', 'Tomato Soup', 10000);
menu.addDishToCourse('appetizers', 'Bread', 10000);
menu.addDishToCourse('mains', 'Olive Oil Pasta', 30000);
menu.addDishToCourse('mains', 'Tomato Pasta', 30000);
menu.addDishToCourse('mains', 'Steak', 40000);
menu.addDishToCourse('desserts', 'Chocolate Cake', 10000);
menu.addDishToCourse('desserts', 'Ice Cream', 10000);
menu.addDishToCourse('desserts', 'Cookies', 5000);
let meal = menu.generateRandomMeal();
console.log(meal);
(결과값)
// Output :
Your meal is Salmon Salad,Tomato Pasta,Chocolate Cake and The price is 60000