Timkor

firOfLettersAndDigits

Jan 2nd, 2021 (edited)
633
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2. let height = +prompt('Enter tree height, 20 - 30 :)'); // це висота без ніжки
  3. let phrase = prompt('Enter any phrase or word, for example: loop is cool!');
  4. phrase = '*' + phrase + '*';
  5. let phraseLength = phrase.length;
  6. let row = 0; // рядки з нулевого до висоти
  7. let spaceNum = height - 1; // пробілів до верхньої зірки пів нижньої (ширшої) гілки, а вона дорівнює (висота * 2 - 1)
  8.                            // з кожним рядком буде зменшуватися -= 1
  9. let starNum = 1; // кількість зірок на верхівці, з кожним рядком буде збільшуватися += 2
  10. let i = 0; // просто лічильник
  11. let counter = 0; // лічильник чисел та літер
  12.  
  13. while (row < height) { // перебираємо рядки від 0 до висоти ялинки
  14.    
  15.     // виводимо пробіли (а може щось інше)
  16.     i = 0; // обнулимо лічильник
  17.     while (i < spaceNum) {
  18.          console.put((counter + i) % 10); // можна пробіл замість тире
  19.          i++;
  20.     }
  21.     console.put(' ');
  22.  
  23.     // виводимо зірочки (а може літери)
  24.     i = 0; // обнулимо лічильник
  25.     while (i < starNum) {
  26.         console.put(phrase[(counter++) % (phraseLength - 1)]);
  27.         i++;
  28.     }
  29.     console.put(' ');
  30.  
  31.     // виводимо символи після ялинки, з пробілами це не портібно
  32.     i = 0; // обнулимо лічильник
  33.     while (i < spaceNum) {
  34.          console.put((counter + i) % 10); // можна пробіл замість тире
  35.          i++;
  36.     }
  37.  
  38.     console.log(); // просто переводимо рядок
  39.     spaceNum -= 1; // готуємо кількість пробілів у наступному рядку
  40.     starNum += 2; // готуємо кількість зірок у наступному рядку
  41.     row++;
  42.    
  43. }
  44. // виводимо ніжку
  45. let footLine = '';
  46. for (let i = 0; i < height - 2; i++) { // знов до пів нижньої гілки
  47.     footLine += ' ';
  48. }
  49. console.log(footLine + 'LOOP');
  50. console.log(footLine + ' IS');
  51. console.log(footLine + 'COOL');
  52. // не переїменовув змінні відповідаючи за пробіли та зірки - хоча варто.)
Add Comment
Please, Sign In to add comment