random, como o nome diz, randomico ou aleatorio, gera um valor aleatorio atribuido a dois valores dados pelo usuario, minimo e maximo.
Os opcodes variam, de float, pra integer, são eles:
Tipo 1
Tipo 2
Como podem ver, ele vai gerar um numero aleatorio no raio de... numero especificado por nos... na variavel 0@.
Exemplo:
Vai gerar um numero de 0 a 10 na variavel 0@, ou seja, 0 1 2 3 4 5 6 7 8 ou 9, pois é, o 10 não vai ser gerador apesar de ser indicado como o numero maximo.
Qual a diferença entre o tipo 1 e o 2?
Como pode perceber o tipo 1 não tem nenhum parametro, ou seja vai gerar somente do numero dito na descrição, sendo assim eu recomendo esquecer o tipo 1, lixo.
Já o segundo, tem dois parametros, o numero minimo e o maximo respectivamente.
Temos um método mais simples, sem opcodes
O Sanny Builder tem uma função dele, que ele converte para o opcode random correspondente a comparação (È, ele identifica se é um random float (decimal) ou um random integer(inteiro)), mas, a variável que vai receber o valor tem de ser declarada.
A Função é esta:
variavel = random(mínimo, máximo)
Lembrando que o máximo não é bem o máximo... se você dizer que o máximo é 10, o numero máximo gerado vai ser 9.
Exemplo Final:
Fácil? Sim, nem foi tão grande esta parte não é mesmo?
--
PROXIMA PARTE
Os opcodes variam, de float, pra integer, são eles:
Tipo 1
- Código:
0098: 0@ = random_float_in_ranges_0.0_to_1.0
0099: 0@ = random_int_in_ranges_0_to_32767
Tipo 2
- Código:
0208: 0@ = random_float_in_ranges -0.2 0.2
0209: 0@ = random_int_in_ranges 0 10
Como podem ver, ele vai gerar um numero aleatorio no raio de... numero especificado por nos... na variavel 0@.
Exemplo:
- Código:
0209: 0@ = random_int_in_ranges 0 10
Vai gerar um numero de 0 a 10 na variavel 0@, ou seja, 0 1 2 3 4 5 6 7 8 ou 9, pois é, o 10 não vai ser gerador apesar de ser indicado como o numero maximo.
Qual a diferença entre o tipo 1 e o 2?
Como pode perceber o tipo 1 não tem nenhum parametro, ou seja vai gerar somente do numero dito na descrição, sendo assim eu recomendo esquecer o tipo 1, lixo.
Já o segundo, tem dois parametros, o numero minimo e o maximo respectivamente.
Temos um método mais simples, sem opcodes
O Sanny Builder tem uma função dele, que ele converte para o opcode random correspondente a comparação (È, ele identifica se é um random float (decimal) ou um random integer(inteiro)), mas, a variável que vai receber o valor tem de ser declarada.
A Função é esta:
variavel = random(mínimo, máximo)
Lembrando que o máximo não é bem o máximo... se você dizer que o máximo é 10, o numero máximo gerado vai ser 9.
Exemplo Final:
- Código:
var
2@ : Integer
end
2@ = random(5, 40) // Gerar um numero de 5 a 40...ou 39 =P? na variavel 2@
Fácil? Sim, nem foi tão grande esta parte não é mesmo?
--
PROXIMA PARTE
O tipo 1 (mais especificadamente o opcode 0099) gera números dentro da range que o signed short (de x86, 2 bytes) suporta.
O opcode 0098 é a mesma coisa, só que ele retorna em float, pra converter o valor do 0099 para o valor que o 0098 geraria é só dividir o valor retornado do 0099 por 32767, mas tem que converter tudo pra float antes de fazer isso.
É o retorno da função rand(), é com essa função que se cria realmente o número randonomico na range desejada.
O tipo 2 é apenas o produto "final" já colocado na range desejada.
Respondendo isso só por ser uma "curiosidade", sei lá .-.
Espero que ninguém ache que isso é ++mensage
O opcode 0098 é a mesma coisa, só que ele retorna em float, pra converter o valor do 0099 para o valor que o 0098 geraria é só dividir o valor retornado do 0099 por 32767, mas tem que converter tudo pra float antes de fazer isso.
É o retorno da função rand(), é com essa função que se cria realmente o número randonomico na range desejada.
O tipo 2 é apenas o produto "final" já colocado na range desejada.
Respondendo isso só por ser uma "curiosidade", sei lá .-.
______________________________

Modifico quase qualquer coisa. :)
------------------>>>http://gtamodvicio.blogspot.com/ <<<------------------

Meu PC:
- Spoiler:
Configurações PC:
*Processador: Intel Core i7 4790K 4.00GHz LGA1150
*Placa Mãe: GIGABYTE GA-H97M-D3H Intel (LGA1150)
*HD: 1TB Seagate Barracuda 64MB Sata III 7200RPM (2x - RAID 0)
*HD²: SAMSUNG M3 Externo USB 5400RPM 1TB
*Placa de vídeo: Nvidia GTX660 2GB DDR5 192bit EVGA
*RAM: 8GB DDR3 1600MHZ Kingston HYPER X BEAST (2x4GB)
*Fonte: Corsair 600W Reais CX600M Modular - CP-9020060-WW (80 Plus Bronze)
*Gabinete: Gabinete Raidmax Super Hurricane Branco - 248WB
*Monitor: LG 23MP55HQ Full HD HDMI 23'
- LINK/2012Programador - Avançado
- Mensagens : 7655
Reputação : 349
Desde : 03/05/2012




Ninguem vai entender o que você disse, se entender (porque ja usou C/C++), ja entendeu quando leu.
______________________________
"Give a man a game engine and he delivers a game. Teach a man to make a game engine and he never delivers anything."

@LINK/2012 escreveu:![]()
![]()
![]()
![]()
Ninguem vai entender o que você disse, se entender (porque ja usou C/C++), ja entendeu quando leu.
Como você mesmo acabou de dizer, é o único que terá a reação "



Existe rand e srand em outras linguagens, pelo menos isso a pessoa pode entender sem precisar estudar C/C++
______________________________

Modifico quase qualquer coisa. :)
------------------>>>http://gtamodvicio.blogspot.com/ <<<------------------

Meu PC:
- Spoiler:
Configurações PC:
*Processador: Intel Core i7 4790K 4.00GHz LGA1150
*Placa Mãe: GIGABYTE GA-H97M-D3H Intel (LGA1150)
*HD: 1TB Seagate Barracuda 64MB Sata III 7200RPM (2x - RAID 0)
*HD²: SAMSUNG M3 Externo USB 5400RPM 1TB
*Placa de vídeo: Nvidia GTX660 2GB DDR5 192bit EVGA
*RAM: 8GB DDR3 1600MHZ Kingston HYPER X BEAST (2x4GB)
*Fonte: Corsair 600W Reais CX600M Modular - CP-9020060-WW (80 Plus Bronze)
*Gabinete: Gabinete Raidmax Super Hurricane Branco - 248WB
*Monitor: LG 23MP55HQ Full HD HDMI 23'
- ericksousaMensagens Nível 2
- Mensagens : 50
Reputação : 0
Desde : 28/07/2013
Essa coisa de programaçao e muito complicado
______________________________
- Spoiler:
@ericksousa escreveu:Essa coisa de programaçao e muito complicado
Você já tentou estudar que linguagem?
______________________________

Modifico quase qualquer coisa. :)
------------------>>>http://gtamodvicio.blogspot.com/ <<<------------------

Meu PC:
- Spoiler:
Configurações PC:
*Processador: Intel Core i7 4790K 4.00GHz LGA1150
*Placa Mãe: GIGABYTE GA-H97M-D3H Intel (LGA1150)
*HD: 1TB Seagate Barracuda 64MB Sata III 7200RPM (2x - RAID 0)
*HD²: SAMSUNG M3 Externo USB 5400RPM 1TB
*Placa de vídeo: Nvidia GTX660 2GB DDR5 192bit EVGA
*RAM: 8GB DDR3 1600MHZ Kingston HYPER X BEAST (2x4GB)
*Fonte: Corsair 600W Reais CX600M Modular - CP-9020060-WW (80 Plus Bronze)
*Gabinete: Gabinete Raidmax Super Hurricane Branco - 248WB
*Monitor: LG 23MP55HQ Full HD HDMI 23'
- ericksousaMensagens Nível 2
- Mensagens : 50
Reputação : 0
Desde : 28/07/2013
@Fabio escreveu:@ericksousa escreveu:Essa coisa de programaçao e muito complicado
Você já tentou estudar que linguagem?
Ja, mas parece que, o que eu leio hoje, nao lembro amanha...

______________________________
- Spoiler:
- JNRois12Programador - Básico
- Mensagens : 6341
Reputação : 65
Desde : 09/07/2012
Idade : 22
Localização : Potim - SP
Link : g1.globo.com/jornal-nacional/
@ericksousa escreveu:@Fabio escreveu:@ericksousa escreveu:Essa coisa de programaçao e muito complicado
Você já tentou estudar que linguagem?
Ja, mas parece que, o que eu leio hoje, nao lembro amanha...![]()
Só lendo é difícil lembrar mesmo, faz assim:
Leia tudo, só leia, não faça nada, se não lembrar de alguma coisa, leia 2, 3, 10 vezes, agora tente fazer algum script olhando nos tutoriais, conseguiu? delete-o e tente refazer sem olhar nos tutoriais
Você vai ver que fica muito mais fácil lembrar das coisas desse jeito, mesmo que demore um pouco mais pra aprender.
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum
|
|