Gerek tahmin edilebilir rastgele
Web tabanlı bir oyun geliştiricisi değilim ve rastgele sayılar ile ilgili bir sorun var. Hadi bir oyuncu 20% kılıcıyla kritik vuruş şansı olduğunu söylüyorlar. O, 1 5 şarkıları dışında kritik olması gerektiği anlamına gelir. Sorun oyuncular 3 kritikleri 5 vurur, bazen hiçbiri 15 hit almak çok kötü gerçek hayatta sonuçları -- bazen aldım. Savaşlar önemli iyi rastgele dağıtım hizmetleri almak için oldukça kısa (3-10 vurur).
Şu anda kullandığım PHP mt_rand(), ama sadece bizim oyun yeni motorda bu sorunu çözmek istiyorum yani C kodumuzu gidiyoruz.
Eğer bu çözüm biraz tekdüze rastgele, ya da önceki rastgele Birleşik Devletleri uygun dağıtım zorlamak için hatırlamak belki, bilmiyorum.
CEVAP
O, 1 5 şarkıları dışında kritik olması gerektiği anlamına gelir. Sorun çok kötü gerçek hayat sonuçlarını aldım. - bazen oyuncular 3 kritikleri 5 vurur, bazen hiçbiri 15 vurur.
Ne gerek shuffle bag. Gerçek rastgele sorunu oyunları için de gelişigüzel olmak çözer.
Algoritma böyle: 1 4 kritik ve kritik olmayan bir çanta içinde vurur. Sonra çantasını sırasına rastgele ve onları bir kerede. Çanta boş olduğunda, yine aynı değerlerle doldurun ve rastgele. Bu şekilde 5 hit başına ortalama 1 kritik vuruş ve en fazla 2 kritik gir ve üst üste kritik olmayan 8 geldi. Daha fazla rastgelelik için çantada öğe sayısını artırmak.
Burada bir süre önce yazdığım an implementation (Java) ve its test cases bir örnek.

"Sayıyı tahmin et&; rastgele rasyonel ...
Profil kütüphaneler gerek Cabal bağıml...
ActiveRecord rastgele kayıt...
Nasıl rastgele'in Matematik.JavaS...
161803398 A 'Özel' Numarası ...