SA-MP Forums Archive
[Ajuda] Variбvel randomica - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda] Variбvel randomica (/showthread.php?tid=584581)



Variбvel randomica - KamoTo - 06.08.2015

Eu gostaria de saber como eu crio uma variбvel que tenha o valor entre 10 e 310 , pra quando eu for usar ela , um desses valores ser selecionado


Re: Variбvel randomica - Lуs - 06.08.2015

PHP код:
new var = random(310 10) + 10



Re: Variбvel randomica - KamoTo - 08.08.2015

Quote:
Originally Posted by Lуs
Посмотреть сообщение
PHP код:
new var = random(310 10) + 10
Pode me explicar o porque daquele "+10" ?


Re: Variбvel randomica - Artista - 08.08.2015

Quote:
Originally Posted by KamoTo
Посмотреть сообщение
Pode me explicar o porque daquele "+10" ?
Bem, eu nгo sou o Lуs. Mas como ele se encontra Off, vou tentar explicar para vocк.

Usando random(310), vocк poderб encontrar valores de 0 а 309, isto й, 310 valores possнveis. Porйm vocк nгo deseja encontrar nenhum valor de 0 a 9, correto? Entгo para isso, somamos o valor encontrado com 10. Assim, o valor serб sempre acima de 9; exemplo:
0 + 10 = 10
1 + 10 = 11
2 + 10 = 12
etc...

Contudo, caso vocк utilize apenas random(310) + 10, o resultado final serб de 10 а 319. Entгo para que tudo fique como desejado, subtraimos o valor a ser gerado pelo random por 10. Isto й: random(310 - 10) ou random(300)

Espero que tenha compreendido


Re: Variбvel randomica - willttoonn - 08.08.2015

Como nosso amigo acima explicou.

Se desejar utilizar uma funзгo para qualquer valor que vocк colocar, utilize essa:

Код:
stock randomEx(min, max)
{
    //Credits to ******
    new rand = random(max-min)+min;
    return rand;
}
Onde tem min vocк pхe o valor inicial e onde tem max vocк pхe o maior valor.

Exemplo:
randomEx(555,999);

Ele vai retornar apenas um valor entre 555 e 999.


Re: Variбvel randomica - Kimossab - 08.08.2015

Quote:
Originally Posted by willttoonn
Посмотреть сообщение
Como nosso amigo acima explicou.

Se desejar utilizar uma funзгo para qualquer valor que vocк colocar, utilize essa:

Код:
stock randomEx(min, max)
{
    //Credits to ******
    new rand = random(max-min)+min;
    return rand;
}
Onde tem min vocк pхe o valor inicial e onde tem max vocк pхe o maior valor.

Exemplo:
randomEx(555,999);

Ele vai retornar apenas um valor entre 555 e 999.
999-555 = 444

Ou seja o random vai dar valores entre 0 e 443

0+555 = 555 | 443 +555 = 998

Ou seja essa funзгo vai retornar um valor entre min e max-1 ([min,max-1] OU [min, max[ se quiseres um intervalo matemбtico). Para essa funзгo funcionar como estбs a dizer tens que fazer assim:

Код:
stock randomEx(min, max)
{
    return random(max-min+1)+min;
}
Ou fazer randomEx(555,1000);



O random dб sempre valores a comeзar em 0, ou seja ira calcular um valor atй ao numero que inseres na funзгo menos 1. Se quiseres um valor aleatorio a partir de um valor apenas tens que somar esse valor ao valor retornado pelo random.

para o que pediste й o seguinte:
new r = random(301) + 10

O 301 й para dar valores que vгo de 0 atй 300. O +10 й para adicionar 10 ao valor retornado pelo random, ou seja r irб ficar com valores entre 10 e 310.