Another game today. In PowerShell of all things. Who would have thought?
Anyway, in this blog post I will be showing you the code I used to create a random word guessing in PowerShell. The script works by taking all the verb information from the
Get-Verb
command and selecting only the verb part of each one.
The script then selects on at random, does some formatting and removes the vowels. That part is important. Pretty much is the single defining feature that makes this thing a game. With the vowels now removed, the user has to guess the verb. If they get it correct then a point is added to their score. If they get it wrong then the game resets and they start again from 0 points. (Well, 1 point if you’re being technical)
Here the code:
function verbguessinggame{ $getverbs = Get-Verb | select verb [int]$verbamount = $getverbs.count $score = 0 do{ $random = Get-Random -Minimum 0 -Maximum $verbamount $selectedword = $getverbs[$random] -replace "@{verb=","" -replace "}","" $selectedwordlength = $selectedword.length $vowelsremoved = $selectedword -replace '[aeiou]',"" $score = $score + 1 Clear-Host Write-Host $vowelsremoved -ForegroundColor Red -BackgroundColor Black $guess = Read-Host "What is the word?" }until($guess -ne $selectedword) Clear-Host Write-Host "incorrect, the verb was $selectedword" Write-Host "Your score was $score" Start-Sleep -Seconds 1.5 Clear-Host do {$playagainselection = Read-Host "Do you want to play again? (Y or N)"} while (("y","n") -notcontains $playagainselection) if ($playagainselection -eq "y"){ verbguessinggame }elseif ($playagainselection -eq "n"){ exit } } verbguessinggame
I will be updating my Games in PowerShell project with this game as well as making some custom changes to this game and others in the project.