Improved write-big.ps1

This commit is contained in:
Markus Fleschutz 2020-12-18 16:27:46 +00:00
parent 1c6771b0d5
commit a7ba028e41

View File

@ -8,69 +8,81 @@
param([String]$Text) param([String]$Text)
function big_A() { function BigA() { param([Int]$Row)
param([Int]$Line) switch($Row) {
switch($Line) { 1 { return " __ " }
0 { return " A " } 2 { return " /__\ " }
1 { return " A A " } 3 { return " /(__)\ " }
2 { return " A A " } 4 { return "(__)(__) " }
3 { return " AAAAAAA " }
4 { return " AAAAAAAAA " }
5 { return "AA AA " }
} }
} }
function big_B() { function BigB() { param([Int]$Row)
param([Int]$Line) switch($Row) {
switch($Line) { 1 { return " ____ " }
0 { return "BBBBBBB " } 2 { return "| _ ) " }
1 { return "B B " } 3 { return "| _ ( " }
2 { return "BBBBBBB " } 4 { return "|____) " }
3 { return "BBBBBBB " }
4 { return "B B " }
5 { return "BBBBBBB " }
} }
} }
function big_char() { function BigC() { param([Int]$Row)
param([String]$Char, [Int]$Line) switch($Row) {
1 { return " ___ " }
2 { return " / __) " }
3 { return "( (__ " }
4 { return " \___) " }
}
}
function BigD() { param([Int]$Row)
switch($Row) {
1 { return " ____ " }
2 { return "| _ \ " }
3 { return "| (_) ) " }
4 { return "|____/ " }
}
}
function BigChar() {
param([String]$Char, [Int]$Row)
switch($Char) { switch($Char) {
'A' { return big_A $Line } 'A' { return BigA $Row }
'B' { return big_B $Line } 'B' { return BigB $Row }
'C' { return big_A $Line } 'C' { return BigC $Row }
'D' { return big_A $Line } 'D' { return BigD $Row }
'E' { return big_A $Line } 'E' { return BigA $Row }
'F' { return big_A $Line } 'F' { return BigA $Row }
'G' { return big_A $Line } 'G' { return BigA $Row }
'H' { return big_A $Line } 'H' { return BigA $Row }
'I' { return big_A $Line } 'I' { return BigA $Row }
'J' { return big_A $Line } 'J' { return BigA $Row }
'K' { return big_A $Line } 'K' { return BigA $Row }
'L' { return big_A $Line } 'L' { return BigA $Row }
'M' { return big_A $Line } 'M' { return BigA $Row }
'N' { return big_A $Line } 'N' { return BigA $Row }
'O' { return big_A $Line } 'O' { return BigA $Row }
'P' { return big_A $Line } 'P' { return BigA $Row }
'Q' { return big_A $Line } 'Q' { return BigA $Row }
'R' { return big_A $Line } 'R' { return BigA $Row }
'S' { return big_A $Line } 'S' { return BigA $Row }
'T' { return big_A $Line } 'T' { return BigA $Row }
'U' { return big_A $Line } 'U' { return BigA $Row }
'V' { return big_A $Line } 'V' { return BigA $Row }
'W' { return big_A $Line } 'W' { return BigA $Row }
'X' { return big_A $Line } 'X' { return BigA $Row }
'Y' { return big_A $Line } 'Y' { return BigA $Row }
'Z' { return big_A $Line } 'Z' { return BigA $Row }
'0' { return big_A $Line } '0' { return BigA $Row }
'1' { return big_A $Line } '1' { return BigA $Row }
'2' { return big_A $Line } '2' { return BigA $Row }
'3' { return big_A $Line } '3' { return BigA $Row }
'4' { return big_A $Line } '4' { return BigA $Row }
'5' { return big_A $Line } '5' { return BigA $Row }
'6' { return big_A $Line } '6' { return BigA $Row }
'7' { return big_A $Line } '7' { return BigA $Row }
'8' { return big_A $Line } '8' { return BigA $Row }
'9' { return big_A $Line } '9' { return BigA $Row }
} }
return " " return " "
} }
@ -79,14 +91,14 @@ try {
if ($Text -eq "" ) { if ($Text -eq "" ) {
[String]$Text = read-host "Enter text to write" [String]$Text = read-host "Enter text to write"
} }
write-host "" [char[]]$CharArray = $Text.ToUpper()
[char[]]$TextArray = $Text.ToUpper() write-output ""
for ($Line = 0; $Line -lt 6; $Line++) { for ($Row = 1; $Row -lt 5; $Row++) {
foreach($Char in $TextArray) { $Line = ""
$Out = big_char $Char $Line foreach($Char in $CharArray) {
write-host -nonewline $Out $Line += BigChar $Char $Row
} }
write-host "" write-output $Line
} }
write-host "" write-host ""
exit 0 exit 0