-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathrectanglePattern.js
More file actions
69 lines (64 loc) · 1.76 KB
/
rectanglePattern.js
File metadata and controls
69 lines (64 loc) · 1.76 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
const generateLines = function(length,Character){
let line = "";
for(let position = 0;position < length;position++) {
line += Character;
}
return line;
}
const generateFilledRectangle = function(length,width) {
let numberOfLines = 1;
let line = generateLines(length,"*");
let rectangle ="";
while(numberOfLines <= width) {
rectangle += line+"\n";
numberOfLines++;
}
return rectangle;
}
const generateMiddleLines = function(length,width) {
let middleLine = "*";
for(let emptycharacter = 2;emptycharacter < length;emptycharacter++) {
middleLine += " ";
}
middleLine += "*";
return middleLine;
}
const generateEmptyRectangle = function(length,width) {
let numberOfLines = 1;
let middlelines = generateMiddleLines(length);
let emptyRectangle = generateLines(length,"*") +"\n";
while(numberOfLines < width-1) {
emptyRectangle += middlelines +"\n";
numberOfLines++;
}
emptyRectangle += generateLines(length,"*");
return emptyRectangle;
}
const generateAlternativeRectangle = function(length,width) {
let alternatingRectangle = "";
let delimitor = "";
for(let row = 1;row <= width;row++) {
let character = "-";
if(row%2 == 1) {
character = "*";
}
alternatingRectangle += delimitor+generateLines(length,character)
delimitor = "\n";
}
return alternatingRectangle;
}
const main = function() {
let typeOfRectangle = process.argv[2];
let length = +process.argv[3];
let width = +process.argv[4];
if(typeOfRectangle =="filled"){
console.log(generateFilledRectangle(length,width));
}
if(typeOfRectangle =="empty"){
console.log(generateEmptyRectangle(length,width));
}
if(typeOfRectangle =="alternate"){
console.log(generateAlternativeRectangle(length,width));
}
}
main();