Advertisement
Guest User

RadioCrystals

a guest
Sep 11th, 2020
1,150
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function chrystalFabric(array) {
  2.     let neededThickness = array[0];
  3.  
  4.     for (let i = 1; i < array.length; i++) {
  5.         let currentThickness = array[i];
  6.  
  7.         console.log(`Processing chunk ${currentThickness} microns`);
  8.  
  9.         let cut = (number) => number / 4;
  10.         let lap = (number) => number - number * 0.2;
  11.         let grind = (number) => number - 20;
  12.         let etch = (number) => number - 2;
  13.         let xray = (number) => number + 1;
  14.  
  15.         let cutCount = 0;
  16.         let lapCount = 0;
  17.         let grindCount = 0;
  18.         let etchCount = 0;
  19.  
  20.         while (currentThickness !== neededThickness) {
  21.             while (currentThickness / 4 >= neededThickness) {
  22.                 currentThickness = cut(currentThickness);
  23.                 cutCount++;
  24.             }
  25.             if (cutCount > 0) {
  26.                 console.log(`Cut x${cutCount}`);
  27.                 console.log(`Transporting and washing`);
  28.                 currentThickness = Math.floor(currentThickness);
  29.             }
  30.  
  31.             while (currentThickness - currentThickness * 0.2 >= neededThickness) {
  32.                 currentThickness = lap(currentThickness);
  33.                 lapCount++;
  34.             }
  35.             if (lapCount > 0) {
  36.                 console.log(`Lap x${lapCount}`);
  37.                 console.log(`Transporting and washing`);
  38.                 currentThickness = Math.floor(currentThickness);
  39.             }
  40.  
  41.             while (currentThickness - 20 >= neededThickness) {
  42.                 currentThickness = grind(currentThickness);
  43.                 grindCount++;
  44.             }
  45.             if (grindCount > 0) {
  46.                 console.log(`Grind x${grindCount}`);
  47.                 console.log(`Transporting and washing`);
  48.                 currentThickness = Math.floor(currentThickness);
  49.             }
  50.  
  51.             while (currentThickness - 2 >= neededThickness - 1) {
  52.                 currentThickness = etch(currentThickness);
  53.                 etchCount++;
  54.             }
  55.             if (etchCount > 0) {
  56.                 console.log(`Etch x${etchCount}`);
  57.                 console.log(`Transporting and washing`);
  58.                 currentThickness = Math.floor(currentThickness);
  59.             }
  60.  
  61.             if (currentThickness < neededThickness) {
  62.                 currentThickness = xray(currentThickness);
  63.                 console.log(`X-ray x1`);
  64.             }
  65.         }
  66.         console.log(`Finished crystal ${neededThickness} microns`);
  67.     }
  68. }
  69.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement