Advertisement
braveheart1989

robot

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