Created
February 12, 2025 04:18
-
-
Save matheuseduardo/392296e5839471a0eabcfe1fb3abdac7 to your computer and use it in GitHub Desktop.
gerador de números aleatórios para sorteios
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
param ( | |
[int]$QuantidadeNumeros = 6, # Quantidade de números a serem sorteados (padrão: 6) | |
[int]$Minimo = 1, # Valor mínimo do número (padrão: 1) | |
[int]$Maximo = 60, # Valor máximo do número (padrão: 60) | |
[int]$TempoPorNumero = 3, # Tempo de sorteio por número em segundos (padrão: 3) | |
[int]$Intervalo = 100 # Intervalo entre as atualizações em milissegundos (padrão: 100) | |
) | |
function Simular-Sorteio { | |
param ( | |
[int]$QuantidadeNumeros, | |
[int]$Minimo, | |
[int]$Maximo, | |
[int]$TempoPorNumero, | |
[int]$Intervalo | |
) | |
$numerosSorteados = @() # Armazena os números já sorteados | |
for ($i = 0; $i -lt $QuantidadeNumeros; $i++) { | |
$inicio = Get-Date | |
while ((Get-Date) -lt $inicio.AddSeconds($TempoPorNumero)) { | |
# Gera um número aleatório único | |
$numero = Get-Random -Minimum $Minimo -Maximum ($Maximo + 1) | |
$numeroFormatado = "{0:D2}" -f $numero # Formata com 2 dígitos | |
# Verifica se o número já foi sorteado | |
if ($numerosSorteados -notcontains $numeroFormatado) { | |
# Limpa a linha atual e exibe os números já sorteados + o novo número | |
Write-Host -NoNewline "`rNúmeros sorteados: $($numerosSorteados -join ' | ') | $numeroFormatado" | |
} | |
# Aguarda o intervalo especificado | |
Start-Sleep -Milliseconds $Intervalo | |
} | |
# Adiciona o número sorteado à lista | |
$numerosSorteados += $numeroFormatado | |
} | |
# Exibe os números finais | |
Write-Host "`rNúmeros sorteados: $($numerosSorteados -join ' | ')`n" | |
} | |
# Executa a simulação de sorteio | |
Simular-Sorteio -QuantidadeNumeros $QuantidadeNumeros -Minimo $Minimo -Maximo $Maximo -TempoPorNumero $TempoPorNumero -Intervalo $Intervalo |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment