1 module source.cpt; 2 3 //Nan0MK's Cool Print Tools Dlang edition 4 import std.stdio; 5 6 /*Reverse printer: Prints the given string in reverse*/ 7 string revPrint(string stringIn){ 8 string stringOut; 9 char inserter; 10 long i = stringIn.length; 11 while(i>0){ 12 inserter = stringIn[i-1]; 13 stringOut = stringOut ~ inserter; 14 i--; 15 } 16 return stringOut; 17 } 18 19 /*Vertical printer: prints the given text vertically*/ 20 void vertPrint(string stringIn){ 21 long i = 0; 22 while(i<stringIn.length){ 23 writeln(stringIn[i]); 24 i++; 25 } 26 } 27 28 /*Reverse vertical printer: prints the gien text vertically in reverse*/ 29 void revVertPrint(string stringIn){ 30 long i = stringIn.length; 31 while(i>0){ 32 writeln(stringIn[i-1]); 33 i--; 34 } 35 } 36 37 /*Diagonal printer: prints the given text diagonally*/ 38 void diagPrint(string stringIn){ 39 string space = " "; 40 long i = 0; 41 while(i<stringIn.length){ 42 if(i>0){ 43 write(space); 44 space = space ~ " "; 45 } 46 writeln(stringIn[i]); 47 i++; 48 } 49 } 50 51 /*Reverse diagonal printer: prints the given text diagonally in reverse*/ 52 void revDiagPrint(string stringIn){ 53 string space = " "; 54 long i = stringIn.length; 55 while(i>0){ 56 if(i-1<stringIn.length){ 57 write(space); 58 space = space ~ " "; 59 } 60 writeln(stringIn[i-1]); 61 i--; 62 } 63 } 64 65 /*Stagger printer: prints the given text staggered top and bottom*/ 66 void staggerPrint(string stringIn){ 67 stringIn = stringIn ~ " "; 68 bool UP = true; 69 string topString; 70 string botString; 71 char inserter; 72 long i = 0; 73 long j = 0; 74 75 while(i<stringIn.length){ 76 if(UP){ 77 if(j<stringIn.length){ 78 inserter = stringIn[j]; 79 } 80 topString = topString ~ inserter; 81 botString = botString ~ " "; 82 i++; 83 j++; 84 UP = false; 85 } 86 if(!UP){ 87 if(j<stringIn.length){ 88 inserter = stringIn[j]; 89 } 90 botString = botString ~ inserter; 91 topString = topString ~ " "; 92 i++; 93 j++; 94 UP = true; 95 } 96 } 97 writeln(topString); 98 writeln(botString); 99 } 100 101 /*Reverse stagger printer: prints the given text staggered top and bottom 102 in reverse*/ 103 void revStaggerPrint(string stringIn){ 104 bool UP = true; 105 string topString; 106 string botString; 107 char inserter; 108 long i = stringIn.length; 109 long j = stringIn.length; 110 111 while(i>0){ 112 if(UP){ 113 if(j>0){ 114 inserter = stringIn[j-1]; 115 topString = topString ~ inserter; 116 } 117 botString = botString ~ " "; 118 i--; 119 j--; 120 UP = false; 121 } 122 if(!UP){ 123 if(j>0){ 124 inserter = stringIn[j-1]; 125 botString = botString ~ inserter; 126 } 127 topString = topString ~ " "; 128 i--; 129 j--; 130 UP = true; 131 } 132 } 133 writeln(topString); 134 writeln(botString); 135 }