CoinFlip.psm1

function Get-CoinFlip {
    param (
        [Parameter(Mandatory=$true)]
        [int]$FlipCount
    )
    $now = Get-Date
    $headsCount = 0
    $tailsCount = 0

    for ($i = 1; $i -le $flipCount; $i++) {
        $coin = Get-Random -Minimum 0 -Maximum 2
        if ($coin -eq 0) {
            $headsCount++
        }
        else {
            $tailsCount++
        }
    }

    $headsPct = $headsCount / $flipCount * 100
    $tailsPct = $tailsCount / $flipCount * 100

    Write-Host "Heads count: $headsCount ($([math]::Round($headsPct,3))%)"
    Write-Host "Tails count: $tailsCount ($([math]::Round($tailsPct,3))%)"

    $majority = [math]::Abs($headsCount - $tailsCount)
    $majorityPct = $majority / $flipCount * 100
    if ($headsCount -gt $tailsCount) {
        Write-Host "Heads wins, majority of $($headsCount - $tailsCount) ($([math]::Round($majorityPct,3))%)!"
    } else {
        Write-Host "Tails wins, majority of $($tailsCount - $headsCount) ($([math]::Round($majorityPct,3))%)!"
    }
    $now2 = Get-Date
    Write-Host "A coin was flipped $flipCount times in $([math]::round(((($now2 - $now).Ticks)/10000000),4)) seconds"

    Clear-Variable headsCount
    Clear-Variable tailsCount
    Clear-Variable headsPct
    Clear-Variable tailsPct
    Clear-Variable majority
    Clear-Variable flipCount
    Clear-Variable coin
    Clear-Variable now
    Clear-Variable now2
}

# Export the function so it's available when the module is imported
Export-ModuleMember -Function Get-CoinFlip