kbo25

Easter Egg

Feb 5th, 2019
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function solve (n) {
  2.   let egg = [];
  3.   let width = 5 * n;
  4.   let height = 2 * n + 3;
  5.   // mid row
  6.   let mid = '.'.repeat(n/2) + '**' + '~'.repeat((width - n - 16)/2) + 'HAPPY EASTER' + '~'.repeat((width - n - 16)/2) + '**' + '.'.repeat(n/2);
  7.   egg.push(mid);
  8.   // ==== sections
  9.   let eqSection = [];
  10.   for (let i = 1; i <= n/2; i++) {
  11.     let line = '.'.repeat(n-i) + '**' + '='.repeat(width - (n - i)*2 - 4) + '**' + '.'.repeat(n-i);
  12.     eqSection.push(line);
  13.   }
  14.   // +++ section
  15.   let plusSection = [];
  16.   for (let i = 1; i <= n/2; i++) {
  17.     let line = '.'.repeat(2 * (n - i)) + '*'.repeat(i) + '+'.repeat(n + 2 * i) + '*'.repeat(i) + '.'.repeat(2 * (n - i));
  18.     plusSection.push(line);
  19.   }
  20.   // top line
  21.   let topline = '.'.repeat(2 * n) + '*'.repeat(n) + '.'.repeat(2 * n);
  22.   let revEq = eqSection.reverse();
  23.   let revPlus = plusSection.reverse();
  24.   egg.unshift(topline, ...plusSection, ...eqSection);
  25.   egg.push(...revEq, ...revPlus, topline);
  26.  
  27.   console.log(egg.join('\n'))
  28. }
Advertisement
Add Comment
Please, Sign In to add comment