Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Losowa liczb
Ulysess
post
Post #1





Grupa: Zarejestrowani
Postów: 695
Pomógł: 65
Dołączył: 27.07.2009
Skąd: Y

Ostrzeżenie: (0%)
-----


dzień dobry , posiadam 'grę' internetowa i w niej gracze mogą ulepszać swoje przedmioty , szanse na ulepszenie teoretycznie powinny wynosić 90% a w praktyce to działa na zasadzie

  1.  
  2. mt_srand((double)microtime()*1000000);
  3.  
  4. $liczba_rand = round(rand(101,10000)/100);
  5.  
  6. if(90 >= $liczba_rand)
  7. {
  8. przedmiot ulepsza sie
  9. }
  10. else
  11. {
  12. niszczy
  13. }


wydaje mi się że tak naprawdę szanse nie wynoszą 90% dlatego wpadłem na pomysł aby:
Losowanych było 10 różnych liczb z przedziału od 1 do 100
Następnie losowana jest jedna liczba z przedziału od 1 do 100 i jeśli ta jedna liczba jest równa którejś z tych 10 wcześniej losowanych to przedmiot ulega zniszczeniu , jeśli nie zostaje ulepszony . co ty o tym sądzicie (IMG:style_emoticons/default/questionmark.gif) może w jakiś inny sposób lepiej to zrobić lub zostawić tak jak teraz jest (IMG:style_emoticons/default/questionmark.gif) z góry dziękuje za pomoc (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Kaffiuri
post
Post #2





Grupa: Zarejestrowani
Postów: 40
Pomógł: 6
Dołączył: 6.05.2009

Ostrzeżenie: (0%)
-----


Cytat(Ulysess @ 1.09.2010, 18:29:18 ) *
ale i tak uważam że większe szanse są że zostanie wylosowana liczba powyżej 90 niż miała by trafić się np 1 19 28 ......


Na szybko napisałem sobie taki kodzik

  1. <?php
  2. $liczba = 0;
  3. $liczba2 = 0;
  4. for ($i=0; $i<100; $i++) {
  5. $los = mt_rand( 1, 100 );
  6. echo $los.'<br />';
  7. if ($los <= 90) {
  8. $liczba++;
  9. }
  10. else {
  11. $liczba2++;
  12. }
  13. }
  14. echo 'Ponizej 90: '.$liczba.'<br />';
  15. echo 'Powyzej 90: '.$liczba2;
  16. ?>


Kilka wynikow:
Cytat
Ponizej 90: 88
Powyzej 90: 12

Cytat
Ponizej 90: 93
Powyzej 90: 7

Cytat
Ponizej 90: 94
Powyzej 90: 6

Cytat
Ponizej 90: 88
Powyzej 90: 12

Cytat
Ponizej 90: 91
Powyzej 90: 9

Cytat
Ponizej 90: 87
Powyzej 90: 13

Cytat
Ponizej 90: 92
Powyzej 90: 8


Prawdopodobieństwo wynosi zawsze koło 90%, wiec mylisz się.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 5.10.2025 - 01:06