Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* You will be given an integer N. The width of the rocklq is (3*N).
- The height of the plane is ((N * 3) – (N / 2)) and the width is (N * 3).
- You must print at the console a picture of size N. */
- "use strict";
- function draw(args) {
- var n = parseInt(args[0]);
- var width = n * 3;
- var outerDots = parseInt((width - 1) / 2);
- console.log("%s*%s", new Array(outerDots + 1).join('.'),
- new Array(outerDots + 1).join('.'));
- var innerDots = 1;
- do {
- outerDots -= 1;
- printDotsAndAsterisk(outerDots, innerDots);
- innerDots += 2;
- } while (innerDots <= (n + 2));
- outerDots -= 2;
- innerDots += 2;
- do {
- printDotsAndAsterisk(outerDots, innerDots);
- outerDots -= 2;
- innerDots += 4;
- } while (outerDots >= 1);
- outerDots = n - 2;
- innerDots = n;
- console.log("*%s*%s*%s*", new Array(outerDots + 1).join('.'),
- new Array(innerDots + 1).join('.'), new Array(outerDots + 1).join('.'));
- var middleDots = 1;
- for (var i = 1; i < parseInt(n / 2); i += 1) {
- outerDots -= 2;
- console.log("*%s*%s*%s*%s*%s*", new Array(outerDots + 1).join('.'),
- new Array(middleDots + 1).join('.'), new Array(innerDots + 1).join('.'),
- new Array(middleDots + 1).join('.'), new Array(outerDots + 1).join('.'));
- middleDots += 2;
- }
- outerDots = n - 1;
- innerDots = n;
- do {
- printDotsAndAsterisk(outerDots, innerDots);
- outerDots -= 1;
- innerDots += 2;
- } while (outerDots >= 1);
- console.log(new Array(width + 1).join('*'));
- function printDotsAndAsterisk(outer, inner) {
- console.log("%s*%s*%s", new Array(outer + 1).join('.'),
- new Array(inner + 1).join('.'), new Array(outer + 1).join('.'));
- }
- }
- draw(['5']);
- draw(['7']);
- draw(['9']);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement