Improved write-code.ps1

This commit is contained in:
Markus Fleschutz 2025-06-06 12:13:09 +02:00
parent b17b3885b5
commit 9befcc9000

View File

@ -15,54 +15,75 @@
https://github.com/fleschutz/PowerShell https://github.com/fleschutz/PowerShell
#> #>
param([string]$color = "green", [int]$speed = 500) # milliseconds param([string]$color = "green", [int]$speed = 200) # milliseconds
[string]$global:Tabs = "" function GetCodeLine {
$generator = New-Object System.Random
function GetRandomCodeLine { $number = [int]$generator.next(0, 42)
$Generator = New-Object System.Random switch($number) {
$Num = [int]$Generator.next(0, 31) 0 { return "`$count = 0" }
switch($Num) { 1 { return "`$count++" }
0 { return $Tabs + "`$count = 0" } 2 { return "exit 0 # success" }
1 { return $Tabs + "`$count++" } 3 { return "`$files = Get-ChildItem C:" }
2 { return $Tabs + "exit 0 # success" } 4 { return "Start-Sleep -seconds 1" }
3 { return $Tabs + "`$files = Get-ChildItem C:" } 5 { return "`$generator = New-Object System-Random" }
4 { return $Tabs + "Start-Sleep -seconds 1" } 6 { return "} else {" }
5 { return $Tabs + "`$generator = New-Object System-Random" } 7 { return "} catch {" }
6 { $global:Tabs = " "; return "} else {" } 8 { return "} elseif (`$count -eq 0) {" }
7 { $global:Tabs = " "; return "} catch {" } 9 { return "Write-Host `"Hello World`" " }
8 { $global:Tabs = " "; return "} elseif (`$count -eq 0) {" } 10 { return "while (`$true) {" }
9 { return $Tabs + "Write-Host `"Hello World`" " } 11 { return "# next part:" }
10 { $global:Tabs = " "; return "while (`$true) {" } 12 { return "exit 1 # failed" }
11 { return $Tabs + "# next part:" } 13 { return "return 1" }
12 { return $Tabs + "exit 1 # failed" } 14 { return "return 0" }
13 { return $Tabs + "return 1" } 15 { return "Write-Progress `"Working...`" " }
14 { return $Tabs + "return 0" } 16 { return "[bool]`$keepAlive = `$true" }
15 { return $Tabs + "Write-Progress `"Working...`" " } 17 { return "for ([int]`$i = 0; `$i -lt 42; `$i++) {" }
16 { return $Tabs + "[bool]`$keepAlive = `$true" } 18 { return "`$stopWatch = [system.diagnostics.stopwatch]::startNew()" }
17 { return $Tabs + "# Copyright © 2025 by write-code.ps1. All Rights Reserved." } 19 { return "[int]`$elapsed = `$stopWatch.Elapsed.TotalSeconds" }
18 { $global:Tabs = " "; return "for ([int]`$i = 0; `$i -lt 42; `$i++) {" } 20 { return "if (`$count -eq 42) {" }
19 { return $Tabs + "`$stopWatch = [system.diagnostics.stopwatch]::startNew()" } 21 { return "} finally {" }
20 { return $Tabs + "[int]`$elapsed = `$stopWatch.Elapsed.TotalSeconds" } 22 { return "throw `"Can't open file`" " }
21 { $global:Tabs = " "; return "if (`$count -eq 42) {" } 23 { return "Start-Sleep -milliseconds 42" }
22 { $global:Tabs = " "; return "} finally {" } 24 { return "`$choice = Read-Host `"Red or blue pill?`"" }
23 { return $Tabs + "throw `"Can't open file`" " } 25 { return "[int]`$answer = 42" }
24 { return $Tabs + "Start-Sleep -milliseconds 42" } 26 { return "}" }
25 { return $Tabs + "`$Choice = Read-Host `"Red or blue pill?`"" } 27 { return "try {" }
26 { return $Tabs + "[int]`$answer = 42" } 28 { return "foreach(`$row in `$table) {" }
27 { $global:Tabs = ""; return "}" } 29 { return "foreach(`$column in `$row) {" }
28 { $global:Tabs = " "; return "try {" } 30 { return "foreach(`$file in `$files) {" }
29 { $global:Tabs = " "; return "foreach(`$row in `$table) {" } 31 { return "foreach(`$line in `$file) {" }
30 { $global:Tabs = " "; return "foreach(`$file in `$files) {" } 32 { return "foreach(`$word in `$file) {" }
33 { return "foreach(`$character in `$word) {" }
34 { return "}" }
35 { return "`$a,`$b = `$b,`$a" }
36 { return "do {" }
37 { return "} while (`$false)" }
38 { return "`$count += 42" }
39 { return "foreach (`$item in (Get-Process)) {" }
40 { return "}" }
41 { return "}" }
42 { return "}" }
} }
} }
try { try {
Write-Host -foreground $color "#" Write-Host -foreground $color "#"
Write-Host -foreground $color "# Copyright © 2025 by AI. All Rights Reserved." Write-Host -foreground $color "# Copyright © 2025 by AI. All software pirates will be hacked :-)"
Write-Host -foreground $color "#" Write-Host -foreground $color "#"
[int]$indent = 0
while ($true) { while ($true) {
Write-Host -foreground $color "$(GetRandomCodeLine)" $line = GetCodeLine
if ($line.Substring(0,1) -eq "}") {
$indent--
}
for ([int]$i = 0; $i -lt $indent; $i++) {
Write-Host " " -noNewline
}
Write-Host "$line" -foreground $color
if ($line.Substring($line.length-1,1) -eq "{") {
$indent++
}
Start-Sleep -milliseconds $speed Start-Sleep -milliseconds $speed
} }
exit 0 # success exit 0 # success