Advertisement
Guest User

Untitled

a guest
Jun 12th, 2019
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. let solve = (() => {
  2.     let ingredients = {};
  3.     ingredients['protein'] = 0;
  4.     ingredients['carbohydrate'] = 0;
  5.     ingredients['fat'] = 0;
  6.     ingredients['flavour'] = 0;
  7.  
  8.  
  9.     function restock([microelement, quantity]) {
  10.         quantity = Number(quantity);
  11.         ingredients[microelement] += quantity;
  12.          return "Success";
  13.     }
  14.  
  15.     function prepare([recipe, quantity]) {
  16.         quantity = Number(quantity);
  17.         let message = "";
  18.         switch (recipe) {
  19.             case "apple":
  20.                 if (ingredients['flavour'] < quantity * 2) {
  21.                     message =  "Error: not enough flavour in stock";
  22.                 }
  23.                 if (ingredients['carbohydrate'] < quantity) {
  24.                     message =  "Error: not enough carbohydrate in stock";
  25.                 }
  26.  
  27.                 if (message == "") {
  28.                     ingredients['flavour'] -= quantity * 2;
  29.                     ingredients['carbohydrate'] -= quantity;
  30.                     return "Success";
  31.                 }
  32.                 return message;
  33.  
  34.                 break;
  35.             case "coke":
  36.                 if (ingredients['flavour'] < quantity * 20) {
  37.                     message = "Error: not enough flavour in stock";
  38.                 }
  39.                 if (ingredients['carbohydrate'] < quantity * 10) {
  40.                     message = "Error: not enough carbohydrate in stock";
  41.                 }
  42.                 if (message == "") {
  43.                     ingredients['flavour'] -= quantity * 20;
  44.                     ingredients['carbohydrate'] -= quantity * 10;
  45.                     return "Success";
  46.                 }
  47.                 return message;
  48.                 break;
  49.             case "burger":
  50.                 if (ingredients['flavour'] < quantity * 3) {
  51.                     message = "Error: not enough flavour in stock";
  52.                 }
  53.                 if (ingredients['fat'] < quantity * 7) {
  54.                     message = "Error: not enough fat in stock";
  55.                 }
  56.                 if (ingredients['carbohydrate'] < quantity * 5) {
  57.                     message = "Error: not enough carbohydrate in stock";
  58.                 }
  59.                 if (message == "") {
  60.                     ingredients['flavour'] -= quantity * 3;
  61.                     ingredients['fat'] -= quantity * 7;
  62.                     ingredients['carbohydrate'] -= quantity * 5;
  63.                     return "Success";
  64.                 }
  65.                 return message;
  66.                 break;
  67.             case "omelet":
  68.                 if (ingredients['flavour'] < quantity) {
  69.                     message = "Error: not enough flavour in stock";
  70.                 }
  71.                 if (ingredients['fat'] < quantity) {
  72.                     message = "Error: not enough fat in stock";
  73.                 }
  74.                 if (ingredients['protein'] < quantity * 5) {
  75.                     message = "Error: not enough protein in stock";
  76.                 }
  77.                 if (message == "") {
  78.                     ingredients['flavour'] -= quantity;
  79.                     ingredients['fat'] -= quantity;
  80.                     ingredients['protein'] -= quantity * 5;
  81.                     return "Success";
  82.                 }
  83.                 return message;
  84.                 break;
  85.             case "cheverme":
  86.                 if (ingredients['flavour'] < quantity * 10) {
  87.                     message = "Error: not enough flavour in stock";
  88.                 }
  89.                 if (ingredients['fat'] < quantity * 10) {
  90.                     message = "Error: not enough fat in stock";
  91.                 }
  92.                 if (ingredients['carbohydrate'] < quantity * 10) {
  93.                     message = "Error: not enough carbohydrate in stock";
  94.                 }
  95.                 if (ingredients['protein'] < quantity * 10) {
  96.                     message = "Error: not enough protein in stock";
  97.                 }
  98.                 if (message == "") {
  99.                     ingredients['flavour'] -= quantity * 10;
  100.                     ingredients['fat'] -= quantity * 10;
  101.                     ingredients['carbohydrate'] -= quantity * 10;
  102.                     ingredients['protein'] -= quantity * 10;
  103.                     return "Success";
  104.                 }
  105.                 return message
  106.                 break;
  107.         }
  108.     }
  109.  
  110.     function report() {
  111.         return `protein=${ingredients['protein']} carbohydrate=${ingredients['carbohydrate']} fat=${ingredients['fat']} flavour=${ingredients['flavour']}`;
  112.     }
  113.  
  114.     return function (command) {
  115.  
  116.         let tokens = command.split(' ');
  117.         let action = tokens.shift();
  118.         switch (action) {
  119.             case "prepare":
  120.                 return prepare(tokens);
  121.                 break;
  122.             case "restock":
  123.                 return restock(tokens);
  124.                 break;
  125.             case "report":
  126.                 return report();
  127.         }
  128.     }
  129. })();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement