Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Losowanie liczb..., j.w.
Web-Fifi
post
Post #1





Grupa: Zarejestrowani
Postów: 43
Pomógł: 0
Dołączył: 16.03.2004
Skąd: Gdańsk

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


Mam taki problem:

Mam sobie jakąś liczbe, dajmy na to 130, ta liczba to punkty, mam kilka zmiennych. Np:

bramkarz,obronca,atak

chce żeby każdej ze zmiennej przyporządkowano jakąś przypadkową wartość, jednak aby suma tych trzech zmiennych nie przekroczyła 130 (liczby punktów), a każda jedna zmienna nie przekroczyła 100 pkt.

Myślałem troche nad tym, szukałem na forum ale nie moge na nic "wpaść". Czy Wy macie jakies pomysły ?

Ten post edytował Web-Fifi 5.04.2005, 18:19:09
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
strife
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 605
Pomógł: 96
Dołączył: 22.10.2004
Skąd: UK

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


rand(); ?

Czyli generalnie mozesz ustawic zakres kazdej zmiennej na 43,3 wtedy nie przekroczy, aczkolewiek wiem o co Ci chodzi. Jesli ktorys z zawodnikow wylosuje 130 to pozostalym przypadnie 0. Maly zarys:

  1. <?php
  2.  
  3. $zakres = 130;
  4.  
  5. $losuj_1 = rand(0, $zakres);
  6. $losuj_2 = rand($losuj_1, $zakres);
  7. $losuj_3 = rand($losuj_2, $zakres);
  8.  
  9. echo $losuj_1.'<br />';
  10. echo $losuj_2.'<br />';
  11. echo $losuj_3.'<br />';
  12.  
  13. $suma = $losuj_1 + $losuj_2 + $losuj_3;
  14. echo $suma;
  15.  
  16. ?>


Nie mam pojecia czy to dziala, wymyslilem w glowie... Ale mysle ze powinno.

Pozdrawiam!
Go to the top of the page
+Quote Post
Web-Fifi
post
Post #3





Grupa: Zarejestrowani
Postów: 43
Pomógł: 0
Dołączył: 16.03.2004
Skąd: Gdańsk

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


Dzięki za zarys, własnie to miałem na myśli musze teraz pokombinować żeby wartośći wszystkich zmiennych nie przekraczały 130 a każda jedna 100.

Pozdrawiam.

edit:

Zrobiłem coś taiego ale nie zabardzo działa.
  1. <?php
  2. $zakress = 130;
  3. $zakres = 100;
  4.  
  5. function print_n()
  6. {
  7. $b = rand($losuj_0, $zakres);
  8. $a = rand($losuj_1, $zakres);
  9. $o = rand($losuj_2, $zakres);
  10. $s = rand($losuj_3, $zakres);
  11. $p = rand($losuj_4, $zakres);
  12. $ag = rand($losuj_5, $zakres);
  13.  
  14. $suma=$b + $a + $o + $s + $p + $ag;
  15.  
  16.  
  17. }
  18.  
  19. if($suma<=&#092;"$zakress\"){
  20.  
  21. echo $b.'<br />';
  22. echo $a.'<br />';
  23. echo $o.'<br />';
  24. echo $s.'<br />';
  25. echo $p.'<br />';
  26. echo $ag.'<br />';
  27. }
  28.  
  29. if($suma>&#092;"$zakress\"){
  30. print_n();
  31. }
  32. ?>


Ten post edytował Web-Fifi 5.04.2005, 18:58:52
Go to the top of the page
+Quote Post
Jawor
post
Post #4





Grupa: Zarejestrowani
Postów: 73
Pomógł: 2
Dołączył: 1.10.2003

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


Witam napisałem coś takiego:

  1. <?
  2.  
  3. $stala = '130';
  4.  
  5. $los1 = rand(0, 100);
  6.  
  7. $a = $stala - $los1;
  8.  
  9. $los2 = rand(0, $a);
  10.  
  11. $los3 = $stala - $los1 - $los2;
  12.  
  13. echo ''.$los1.'<br />';
  14. echo ''.$los2.'<br />';
  15. echo ''.$los3.'<br />';
  16.  
  17. $suma = $los1 + $los2 + $los3;
  18.  
  19. echo '<br /><b>Suma: '.$suma.'</b>';
  20.  
  21. ?>


Wszystko powinno działać jak chciałeś poza tym, że nie ogranicza aby liczba nie była większa od 100 ...

Ten post edytował Jawor 5.04.2005, 19:05:37
Go to the top of the page
+Quote Post
Web-Fifi
post
Post #5





Grupa: Zarejestrowani
Postów: 43
Pomógł: 0
Dołączył: 16.03.2004
Skąd: Gdańsk

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


Wszystko by było ok... ale własnie, ja podałem dla przykładu 3 pola, a tych pól ma być sporo więcej wiec wszystko wydaje się mało pratyczne (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) Ale dzięki za dobre chęci, ja jeszcze próbuje coś tam porobić z moim pomysłem.
Go to the top of the page
+Quote Post

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: 23.08.2025 - 15:12