1b0x

Untitled

Oct 26th, 2016
380
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function solve (input) {
  2.     let robot = {
  3.         protein: 0,
  4.         carbohydrate: 0,
  5.         fat: 0,
  6.         flavour: 0
  7.     }
  8.  
  9.     let breakfast = (function() {
  10.         let recipes = {
  11.             apple: {
  12.                 carb: 1,
  13.                 flavour: 2
  14.             },
  15.             coke: {
  16.                 carb: 10,
  17.                 flavour: 20
  18.             },
  19.             burger: {
  20.                 carb: 5,
  21.                 fat: 7,
  22.                 flavour: 3
  23.             },
  24.             omlet: {
  25.                 protein: 5,
  26.                 fat: 1,
  27.                 flavour: 1
  28.             },
  29.             cheverme: {
  30.                 protein: 10,
  31.                 fat: 1,
  32.                 flavour: 1
  33.             }
  34.         }
  35.  
  36.         return {
  37.             restock: (microelement, quantity) => { 
  38.                 console.log('Success')
  39.                 return robot[microelement] += quantity
  40.              },
  41.              prepare: (recipe, quantity)  => {
  42.                 let error = false;
  43.                 for (let rec in recipes[recipe]) {
  44.                     let str = rec;
  45.  
  46.                     if (str == 'carb')
  47.                         str = 'carbohydrate';
  48.  
  49.                     if (robot[str] >= recipes[recipe][rec] * quantity) {
  50.                         robot[str] -= recipes[recipe][rec] * quantity;
  51.                     } else {
  52.                         console.log(`Error: not enough ${str} in stock`)
  53.                         error = true;
  54.                         break;
  55.                     }
  56.                 }
  57.  
  58.                 if (!error)
  59.                     console.log('Success');
  60.              },
  61.              print: () => {
  62.                  let result = '';
  63.                  for (let prop in robot)
  64.                      result += `${prop}=${robot[prop]} `;
  65.  
  66.                   return result;
  67.              }
  68.         }
  69.     })();
  70.  
  71.     for (let cmd of input) {
  72.         [command, val1, val2] = cmd[0].split(' ');
  73.         breakfast[command](val1, val2);
  74.     }
  75. }
  76.  
  77.  
  78.  
  79. // let ins = [
  80. //     ['restock flavour 50', 'Success'],
  81. //     ['prepare coke 4', 'Error: not enough carbohydrate in stock']
  82. // ];
  83.  
  84. // solve(ins);
Advertisement
Add Comment
Please, Sign In to add comment