• Uncategorized
  • 0

Träna multiplikationstabellen med PowerShell

Fick en rolig uppgift i plugget denna vecka om att göra en multiplikationstränare i PowerShell. Sagt och gjort, här är mitt bidrag.

$i = 0
$a = 0
Write-Host "`n"
Write-Host "Välkommen till MultiplikationsTabellen.ps1, din mattetränare i PowerShell." -BackgroundColor Black -ForegroundColor White
Write-Host "Fel svar ger 5 sekunders strafftid och drar bort ett korrekt svar." -BackgroundColor Black -ForegroundColor White
Write-Host "Du måste klara 10 frågor." -BackgroundColor Black -ForegroundColor White
Write-Host "LYCKA TILL!" -BackgroundColor Black -ForegroundColor White
Write-Host "Tryck på Entertangenten för att starta testet..." -BackgroundColor DarkGreen -ForegroundColor White

Pause

$ScriptStart = (Get-Date)

Do {

$num = 1..10 | Get-Random
$base = 1..10 | Get-Random
$Guess = Read-Host "Vad blir $num * $base`?"
if($Guess -eq $num*$base)
{ Write-Host " Rätt svar!" -ForegroundColor Green ; $i++ }
else{
Write-Host " FEL!" -ForegroundColor Red
$a++
$i--
}
} # End of 'Do'
Until ($i -eq "10")

$ScriptEnd = (Get-Date)
$RunTime = New-TimeSpan -Start $ScriptStart -End $ScriptEnd
$NumErrors = $a++
$PenaltyTime = New-TimeSpan -Seconds 5
$Penalty = $NumErrors * $PenaltyTime.Seconds

$Questions = $NumErrors+$i
$Time = $($RunTime.seconds) + $($Penalty)
Write-Host "`n"
Write-Host "Antal frågor: $Questions" -BackgroundColor Black -ForegroundColor White
Write-Host "Antal fel: $NumErrors" -BackgroundColor Black -ForegroundColor White

if($NumErrors -ge 1 -and $RunTime.Minutes -le 1)
{
Write-Host "Tid: $($RunTime.Minutes) minut och $($RunTime.seconds) sekunder + strafftid på $($Penalty) sekunder" -BackgroundColor Black -ForegroundColor White
Write-Host "Totaltid: $($RunTime.Minutes) minut(er) $Time sekund(er)" -BackgroundColor Black -ForegroundColor White
}

elseif($NumErrors -ge 1 -and $RunTime.Minutes -gt 1)
{
Write-Host "Tid: $($RunTime.Minutes) minuter och $($RunTime.seconds) sekunder + strafftid på $($Penalty) sekunder" -BackgroundColor Black -ForegroundColor White
Write-Host "Totaltid: $($RunTime.Minutes) minut(er) $Time sekund(er)" -BackgroundColor Black -ForegroundColor White
}

elseif($NumErrors -eq 0 -and $RunTime.Minutes -gt 1 -or $RunTime.Minutes -eq 0)
{
Write-Host "Tid: $($RunTime.Minutes) minuter och $($RunTime.seconds) sekunder med ingen strafftid!" -BackgroundColor Black -ForegroundColor White
}
else{
Write-Host "Tid: $($RunTime.Minutes) minut och $($RunTime.seconds) sekunder med ingen strafftid!" -BackgroundColor Black -ForegroundColor White
}

 

multiplikationKanske ett bidrag till bättre matematikkunskaper Smile

You may also like...

Leave a Reply

Your email address will not be published. Required fields are marked *

%d bloggers like this: