Bu kodladığım PowerShell koduyla, bir şans oyunu (gerçek Milli Piyango Şans Topu Oyunun bire bir benzetimidir.) için rastgele sayı kombinasyonları oluşturur ve bunları belirli bir formatta ekrana yazdırır.
Kod Analiz Özetlemesi :
Renk Paleti Tanımlama: Koyu tonlarda renkler, ana sayılar için bir palet olarak tanımlanır. Bonus sayı için ise koyu gri bir renk seçilir.
Toplam Kombinasyon Hesaplama: Toplam kombinasyon sayısı hesaplanır ve bu kombinasyonların olasılığı yüzdesel olarak belirlenir.
Rastgele Seçim: 6 tur boyunca her turda 5 ana sayı (1-34 arası) ve 1 bonus sayı (1-14 arası) rastgele seçilir. Seçimler bir diziye eklenir.
Başlık Yazdırma: Ekrana başlık ve alt çizgi ile ayırıcı bir çizgi yazdırılır.
Sonuçların Yazdırılması: Her tur için seçilen sayılar, belirlenen renklerle birlikte ekrana yazdırılır. Bonus sayı ve olasılık da gösterilir.
Hata Yönetimi: Hatalar yakalanır ve kullanıcıya bildirilir.
Ana Menü: Kullanıcıya betiği sonlandırma veya çekilişi tekrarlama seçeneği sunulur. Kullanıcının seçimine göre döngü devam eder veya sonlanır.
EKRAN GÖRÜNTÜSÜ : (Sistem : Windows 11 Yapı 24H2 x64 Home TR)

KOD İÇERİĞİ :
Kod: Tümünü seç
do {
try {
# Renk paleti (dark tonlar) ana sayılar için
$colors = @("DarkRed","DarkGreen","DarkYellow","DarkBlue","DarkMagenta","DarkCyan")
# Şans sayısı için koyu ama görünür renk
$bonusColor = "DarkGray"
# Toplam kombinasyon sayısı
$totalCombinations = [math]::Round((278256 * 14),0)
$probPercent = [math]::Round((1 / $totalCombinations) * 100, 8)
# 6 tur × 6 set saklama
$allSelections = @()
for ($round=1; $round -le 6; $round++) {
# 5 ana sayı (1-34), tekrar yok
$mainNumbers = (1..34 | Get-Random -Count 5 | Sort-Object)
# 1 şans sayısı (1-14)
$bonusNumber = Get-Random -Minimum 1 -Maximum 15
$allSelections += ,@($mainNumbers + $bonusNumber)
}
# Başlık
Write-Host ""
Write-Host ("{0,-12} {1,3} {2,3} {3,3} {4,3} {5,3} {6,5} {7,10}" -f "Tur","S1","S2","S3","S4","S5","Şans","Olasılık(%)")
Write-Host ("-"*60)
# Satırları yaz ve renklendir
for ($i=0; $i -lt $allSelections.Count; $i++) {
$row = $allSelections[$i]
$color = $colors[$i % $colors.Count]
# Ana sayılar
$mainPart = ("{0,-12} {1,3} {2,3} {3,3} {4,3} {5,3}" -f ("Şans Topu " + ($i+1)), $row[0], $row[1], $row[2], $row[3], $row[4])
Write-Host $mainPart -ForegroundColor $color -NoNewline
# Şans sayısı ve olasılık
Write-Host (" {0,5} {1,10}" -f $row[5], $probPercent) -ForegroundColor $bonusColor
}
} catch {
Write-Host "Hata oluştu: $_"
}
# Ana menü
Write-Host ""
Write-Host "Ana Menü:"
Write-Host "0 = Betiği sonlandır"
Write-Host "1 = Çekilişi tekrarla"
$choice = Read-Host "Seçiminiz (0/1)"
} while ($choice -eq "1")
Write-Host "`nBetiğin çalışması tamamlandı. Çıkmak için Enter'a basın..."
Read-Host