Verb Guessing Game in PowerShell

Verb guesser Featured image

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.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s