|
|
@@ -1,3 +1,29 @@ |
|
|
|
|
|
|
|
function makeLine(size, chars = "#") { |
|
|
|
let line = ""; |
|
|
|
for (let i = 0; i < size; i++) { |
|
|
|
line += "#"; |
|
|
|
} |
|
|
|
return line |
|
|
|
} |
|
|
|
|
|
|
|
function makeDownwardStairs(size) { |
|
|
|
let stair = ""; |
|
|
|
for (let i = 1; i <= size; i++) { |
|
|
|
stair += makeLine(i) + "\n"; |
|
|
|
} |
|
|
|
return stair.trim(); |
|
|
|
} |
|
|
|
console.log(makeDownwardStairs(5) + "\n"); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* function makeSpaceLine(numSpaces, numChars) { |
|
|
|
return makeLine(numSpaces, ' ') + makeLine(numChars, '#') + makeLine(numSpaces, ' '); |
|
|
|
} */ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function makeSpaceLine(spaces, hashtags) { |
|
|
|
let li = ""; |
|
|
|
for (let i = 1; i <= spaces; i++) { |
|
|
@@ -12,4 +38,29 @@ function makeSpaceLine(spaces, hashtags) { |
|
|
|
return li |
|
|
|
} |
|
|
|
|
|
|
|
console.log(makeSpaceLine(3, 5)); |
|
|
|
|
|
|
|
console.log(makeSpaceLine(5, 6) + "\n"); |
|
|
|
|
|
|
|
|
|
|
|
function reverse(str) { |
|
|
|
return str.split('').reverse('').join(''); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
function makeIsoscelesTriangle(height, offset = 0) { |
|
|
|
isosceles = ""; |
|
|
|
for (let i = 0; i < height; i++) { |
|
|
|
isosceles += makeSpaceLine(height - i - 1, 2 * i + 1, offset) + "\n"; |
|
|
|
} |
|
|
|
return isosceles.trimEnd(); |
|
|
|
} |
|
|
|
|
|
|
|
console.log(makeIsoscelesTriangle(6)); |
|
|
|
console.log(reverse(makeIsoscelesTriangle(6))); |
|
|
|
|
|
|
|
function makeDiamond(height) { |
|
|
|
return makeIsoscelesTriangle(height) + "\n" + reverse(makeIsoscelesTriangle(height)); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
console.log(makeDiamond(5)); |