diff --git a/scripts/write-code.ps1 b/scripts/write-code.ps1 index 61f524c4..44f47ec9 100755 --- a/scripts/write-code.ps1 +++ b/scripts/write-code.ps1 @@ -15,54 +15,75 @@ 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 GetRandomCodeLine { - $Generator = New-Object System.Random - $Num = [int]$Generator.next(0, 31) - switch($Num) { - 0 { return $Tabs + "`$count = 0" } - 1 { return $Tabs + "`$count++" } - 2 { return $Tabs + "exit 0 # success" } - 3 { return $Tabs + "`$files = Get-ChildItem C:" } - 4 { return $Tabs + "Start-Sleep -seconds 1" } - 5 { return $Tabs + "`$generator = New-Object System-Random" } - 6 { $global:Tabs = " "; return "} else {" } - 7 { $global:Tabs = " "; return "} catch {" } - 8 { $global:Tabs = " "; return "} elseif (`$count -eq 0) {" } - 9 { return $Tabs + "Write-Host `"Hello World`" " } - 10 { $global:Tabs = " "; return "while (`$true) {" } - 11 { return $Tabs + "# next part:" } - 12 { return $Tabs + "exit 1 # failed" } - 13 { return $Tabs + "return 1" } - 14 { return $Tabs + "return 0" } - 15 { return $Tabs + "Write-Progress `"Working...`" " } - 16 { return $Tabs + "[bool]`$keepAlive = `$true" } - 17 { return $Tabs + "# Copyright © 2025 by write-code.ps1. All Rights Reserved." } - 18 { $global:Tabs = " "; return "for ([int]`$i = 0; `$i -lt 42; `$i++) {" } - 19 { return $Tabs + "`$stopWatch = [system.diagnostics.stopwatch]::startNew()" } - 20 { return $Tabs + "[int]`$elapsed = `$stopWatch.Elapsed.TotalSeconds" } - 21 { $global:Tabs = " "; return "if (`$count -eq 42) {" } - 22 { $global:Tabs = " "; return "} finally {" } - 23 { return $Tabs + "throw `"Can't open file`" " } - 24 { return $Tabs + "Start-Sleep -milliseconds 42" } - 25 { return $Tabs + "`$Choice = Read-Host `"Red or blue pill?`"" } - 26 { return $Tabs + "[int]`$answer = 42" } - 27 { $global:Tabs = ""; return "}" } - 28 { $global:Tabs = " "; return "try {" } - 29 { $global:Tabs = " "; return "foreach(`$row in `$table) {" } - 30 { $global:Tabs = " "; return "foreach(`$file in `$files) {" } +function GetCodeLine { + $generator = New-Object System.Random + $number = [int]$generator.next(0, 42) + switch($number) { + 0 { return "`$count = 0" } + 1 { return "`$count++" } + 2 { return "exit 0 # success" } + 3 { return "`$files = Get-ChildItem C:" } + 4 { return "Start-Sleep -seconds 1" } + 5 { return "`$generator = New-Object System-Random" } + 6 { return "} else {" } + 7 { return "} catch {" } + 8 { return "} elseif (`$count -eq 0) {" } + 9 { return "Write-Host `"Hello World`" " } + 10 { return "while (`$true) {" } + 11 { return "# next part:" } + 12 { return "exit 1 # failed" } + 13 { return "return 1" } + 14 { return "return 0" } + 15 { return "Write-Progress `"Working...`" " } + 16 { return "[bool]`$keepAlive = `$true" } + 17 { return "for ([int]`$i = 0; `$i -lt 42; `$i++) {" } + 18 { return "`$stopWatch = [system.diagnostics.stopwatch]::startNew()" } + 19 { return "[int]`$elapsed = `$stopWatch.Elapsed.TotalSeconds" } + 20 { return "if (`$count -eq 42) {" } + 21 { return "} finally {" } + 22 { return "throw `"Can't open file`" " } + 23 { return "Start-Sleep -milliseconds 42" } + 24 { return "`$choice = Read-Host `"Red or blue pill?`"" } + 25 { return "[int]`$answer = 42" } + 26 { return "}" } + 27 { return "try {" } + 28 { return "foreach(`$row in `$table) {" } + 29 { return "foreach(`$column in `$row) {" } + 30 { return "foreach(`$file in `$files) {" } + 31 { return "foreach(`$line in `$file) {" } + 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 { 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 "#" + [int]$indent = 0 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 } exit 0 # success