-
Notifications
You must be signed in to change notification settings - Fork 0
/
printRectangles.js
78 lines (71 loc) · 1.79 KB
/
printRectangles.js
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
70
71
72
73
74
75
76
77
78
const createAlternateRectangle = function(length,breadth){
let firstRow = repeatCharacter(length,"*");
let alternateLines = repeatCharacter(length,"-");
let rectangle="";
let delimitor="";
for(let j = 1; j <= breadth; j++){
if(j%2 == 0){
rectangle+=delimitor+alternateLines;
}
else{
rectangle += delimitor+firstRow;
}
delimitor="\n";
}
return rectangle;
}
const repeatSpaces = function(length){
return repeatCharacter(length," ");
}
const repeatCharacter = function(numberOfTimes,character) {
let characterLine = "";
for (let loopIndex = 0; loopIndex < numberOfTimes; loopIndex++ ) {
characterLine += character;
}
return characterLine;
}
const createEmptyRectangle = function(length,breadth){
let firstColumn = repeatCharacter(length,"*");
let delimitor = "";
let space = "";
let rectangle = "";
for(let j=0; j<breadth; j++){
let row=firstColumn;
if(j<breadth-1 && j>0){
space += repeatSpaces(length-2);
row="*"+space+"*";
space="";
}
rectangle += delimitor+row;
delimitor="\n";
}
return rectangle;
}
const createFilledRectangle = function(length,breadth){
let rectangle = "";
let delimitor = "";
let column = repeatCharacter(length,"*")
for(let j = 0; j < breadth; j++){
rectangle += delimitor+column;
delimitor = "\n";
}
return rectangle;
}
const main = function(){
let type = process.argv[2];
let length = process.argv[3];
let breadth = process.argv[4];
let rectangle = "";
let delimitor = "";
if(type == "alternating"){
rectangle = createAlternateRectangle(length,breadth);
}
if(type == "empty"){
rectangle = createEmptyRectangle(length,breadth);
}
if(type == "filled"){
rectangle = createFilledRectangle(length,breadth);
}
console.log(rectangle);
}
main();