SORU
26 Mayıs 2009, Salı


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
26 Mayıs 2009, Salı


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.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • BetterCoder

    BetterCoder

    17 Aralık 2012
  • John Lynn

    John Lynn

    8 Ocak 2010
  • Mega64

    Mega64

    24 ŞUBAT 2006