hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2024.05.05. 06:16



Jelenlévő felhasználók

Jelenleg 572 felhasználó van jelen :: 1 regisztrált, 0 rejtett és 571 vendég

A legtöbb felhasználó (1565 fő) 2020.11.21. 11:26-kor tartózkodott itt.

Regisztrált felhasználók: Bing [Bot] az elmúlt 5 percben aktív felhasználók alapján

Utoljára aktív
Ahhoz hogy lásd ki volt utoljára aktív, be kell jelentkezned.



Az oldal teljeskörű
használatához regisztrálj.

Regisztráció

Kereső


Új téma nyitása  Hozzászólás a témához  [ 2 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: Sorsolás kizárása (random)
HozzászólásElküldve: 2013.07.18. 20:42 
Offline
Őstag
Avatar

Csatlakozott: 2010.04.16. 16:50
Hozzászólások: 1342
Megköszönt másnak: 42 alkalommal
Megköszönték neki: 58 alkalommal
Sziasztok, valaki megtudná nekem mondani hogy tudom random számbol kizárni az előző sorsolt számot ?
Én már probálkoztam vele de sehogy se akar összejönni. szóval itt az sma- is lássátok miről is lenne szó.
ez most 2 számmal van csak csinálva teszt miatt de majd többel akarom.
SMA Forráskód: [ Mindet kijelol ]
  1.  
  2. new volt = 0
  3.  
  4. public sorsol()
  5. {
  6. switch(random_num(1,2))
  7. {
  8. case 1:
  9. {
  10. if(!volt == 1)
  11. {
  12. {
  13. server_cmd("asd")
  14. volt = 1
  15. }
  16. }
  17. else
  18. {
  19. sorsol()
  20. }
  21. }
  22.  
  23. case 2:
  24. {
  25. if(!volt == 2)
  26. {
  27. volt = 2
  28. {
  29. server_cmd("asd2")
  30. }
  31. }
  32. else
  33. {
  34. sorsol()
  35. }
  36. }
  37. }
  38. }
  39.  
  40.  

_________________
Kép


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Sorsolás kizárása (random)
HozzászólásElküldve: 2013.07.19. 06:14 
Offline
Signore Senior
Avatar

Csatlakozott: 2011.09.09. 17:39
Hozzászólások: 4020
Megköszönt másnak: 12 alkalommal
Megköszönték neki: 139 alkalommal
SMA Forráskód: [ Mindet kijelol ]
  1.  
  2. #define MAXIMUM 10
  3. new randomszamok[MAXIMUM];
  4. new utolsoszam;
  5.  
  6. feltolt()
  7. {
  8. for(new i=0; i<MAXIMUM; i++)
  9. randomszamok[i] = random_num(1,99);
  10. }
  11.  
  12. public sorsol()
  13. {
  14. new randomszam = random_num(0, MAXIMUM);
  15. if(utolsoszam != randomszamok[randomszam];
  16. {
  17. utolsoszam = randomszamok[randomszam];
  18. return utolsoszam;
  19. }
  20. else sorsol();
  21. }
  22.  


Amit a fenti kód csinál:

Létrehoz 10 véletlenszerű számot a randomszamok tömbbe, itt még nincs kizárva az ismétlődés.
Pl:
{ 1, 4, 71, 4, 27, 35, 98, 4, 6, 55)
Ezek közül kiválaszt egyet véletlenszerűen egyet, majd ellenőrzi, hogy az értéke ugyanaz volt-e mint az előzőnek. Ha igen, újraválaszt, ha nem, visszatér az értékével.

Figyelem!
Ha elsőnek kiválasztja a randomszamok[2] -t, ugye a 4-et, majd utána a randomszamok[8] -t nem fogja elfogadni, mert az ugyanaz.


Hozzászólás jelentése
Vissza a tetejére
   
Hozzászólások megjelenítése:  Rendezés  
Új téma nyitása  Hozzászólás a témához  [ 2 hozzászólás ] 


Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 81 vendég


Nyithatsz új témákat ebben a fórumban.
Válaszolhatsz egy témára ebben a fórumban.
Nem szerkesztheted a hozzászólásaidat ebben a fórumban.
Nem törölheted a hozzászólásaidat ebben a fórumban.
Nem küldhetsz csatolmányokat ebben a fórumban.

Keresés:
Ugrás:  
Powered by phpBB® Forum Software © phpBB Limited
Magyar fordítás © Magyar phpBB Közösség
Portal: Kiss Portal Extension © Michael O'Toole