Çark gerçekten rastgele mi?
Evet. Bunu o kadar sık soruyorlar ki göstermek için koca bir sayfa hazırladık. Aşağıda kendi ana sayfa çarkınızı alıp bir milyon kez çevirebilir ve sonuçların nereye düştüğünü görebilirsiniz.
0
çevirme
·
adil paydan en büyük sapma
Başlat'a basın ve adil bir çarkın gerçekte nasıl göründüğünü izleyin.
Adil bir çark neden hileli görünebilir
Herhangi bir adil çarkı yirmi kez çevirin, bozuk görünecektir. Aşağıda sekiz seçenekli çarkımız gerçekten çevrilmiş hâliyle duruyor: yirmi çevirmeden sonra en şanslı seçenek 4 kez, en şanssızı yalnızca 1 kez çıkmıştı.
Onda bir sorun yoktu. Sadece yeterince çevirme olmamıştı. Devam edin, aynı kodu çalıştıran aynı çark kendi kendine dengelenir.
%120 fark
%40 fark
%8.4 fark
%0.5 fark
Her çubuk bir seçenek, kesikli çizgi ise eşit paylaşım. Az çevirmede çubuklar o çizginin çevresinde savrulur. Çok çevirmede ona yapışır.
Neleri test ettik
Son çalıştırma 2026-09-08Beş test, her biri milyonlarca çevirme, çarkınızın kullandığı kodun aynısı üzerinde. Her biri bir çarkın adaletsiz olabileceği farklı bir yolu sorguluyor.
Her seçenek on ikide bir kazanıyor mu?
Her seçenek kendi payının %0,18 kadarında kaldı
Yalnızca iki seçenekle bir taraf öne geçiyor mu?
10 milyon çevirmede 50,0% / 50,0%
1, 2, 3 ve 4 ağırlıkları bu oranda mı kazanıyor?
10 milyon çevirmede 10,0% / 20,0% / 30,0% / 40,0%
Gösterge kazanan dilimin bir bölümünü kayırıyor mu?
Her seçenek kendi payının %0,28 kadarında kaldı
Önceki kazanan bir sonraki hakkında bir şey söylüyor mu?
5 milyon çevirmede hiçbir örüntü bulunmadı
Böyle bir test yalnızca kalabilir, asla kanıtlayamaz. Geçmek, beş belirli adaletsizlik türünü aradığımız ve bulamadığımız anlamına gelir.
Kazanan nasıl seçiliyor
Çevirmeye bastığınız anda tarayıcınız, parolaları ve ödemeleri koruyan sistemin aynısıyla bir rastgele sayı üretir. O sayı kazananı seçer.
Bu, çark hareket etmeye başlamadan önce olur. İzlediğiniz şey, çarkın çoktan belirlenmiş bir sonuca doğru gitmesidir; bu yüzden tıklamanın gücü, yeri ve süresi hiçbir şeyi değiştirmez.
const randomValues = new Uint32Array(2)
crypto.getRandomValues(randomValues)
const prizeNumber = selectWeightedIndex(
props.segments,
randomValues[0] / 0xFFFFFFFF
)Ayrıntıda: her çevirme crypto.getRandomValues'tan iki adet 32 bitlik sayı çeker. İlki kümülatif ağırlıklar üzerinde yürüyerek kazanan seçeneği belirler. İkincisi göstergeyi kazanan dilimin %10 ile %90'ı arasına yerleştirir, böylece asla tam kenarda durmaz.
Şimdi kendiniz çevirin.
Ücretsiz, hesap gerekmez ve kanıtladığını az önce izlediniz.