O TEMA DO FÓRUM ESTÁ EM MANUTENÇÃO. FEEDBACKS AQUI: ACESSAR

Sobre a função "Mod" no RM2k3

Iniciado por DarlesLSF, 24/07/2018 às 06:38

24/07/2018 às 06:38 Última edição: 11/08/2018 às 11:03 por Corvo
Como funciona essa função? Até hj nunca entendi pra que ela serve.
Darles LSF

Vc se refere às operações com variáveis?
Se sim. Mod é uma abreviação para Modulo, que na matemática é o operador que encontra o resto de uma divisão entre dois números. Seu símbolo é o %, ou também encontrado na Calculadora Científica com o nome de Mod mesmo.

Quando a gente faz uma conta de dividir no papel, aprendemos na escola onde separamos o dividendo, divisor e o quociente com 3 linhas em forma de L ou de T. E aí então dividimos número por número até o resultado final, podendo restar 0 para uma divisão inteira (números naturais) ou não-inteiras (números racionais ou até mesmo irracionais). Aquela parte do resto que será o resultado de um Mod.
Se liga nessa imagem aqui.

Ao dividirmos 19 por 2, encontramos 9 e sobrou 1.
Se você pegar aquele 1, ele será o resto da divisão.
Logo 19/2 = 9, e 19Mod2 = 1.

Citação de: Dr.XGB online 24/07/2018 às 15:56
Vc se refere às operações com variáveis?
Se sim. Mod é uma abreviação para Modulo, que na matemática é o operador que encontra o resto de uma divisão entre dois números. Seu símbolo é o %, ou também encontrado na Calculadora Científica com o nome de Mod mesmo.

Quando a gente faz uma conta de dividir no papel, aprendemos na escola onde separamos o dividendo, divisor e o quociente com 3 linhas em forma de L ou de T. E aí então dividimos número por número até o resultado final, podendo restar 0 para uma divisão inteira (números naturais) ou não-inteiras (números racionais ou até mesmo irracionais). Aquela parte do resto que será o resultado de um Mod.
Se liga nessa imagem aqui.

Ao dividirmos 19 por 2, encontramos 9 e sobrou 1.
Se você pegar aquele 1, ele será o resto da divisão.
Logo 19/2 = 9, e 19Mod2 = 1.
Então basicamente Mod é o resto de uma divisão?
Obrigado por esclarecer. Sabe de algum uso viável dessa função no rpg maker?
E eu estava vendo em outros fóruns sobre isso e um cara falou de uma conta, no caso: -1mod8 = 7. Sabe me dizer por quê deu 7 como resultado?
Darles LSF

Na verdade -1Mod8 = -1. E não 7...  :hein:
Até porque quando x pertence aos números naturais -1/8 dá 0 e x pertencendo aos racionais dá 0,125.
De zero pra -1 sobra -1.
Vc pode até testar na calculadora científica que vai dar esse resultado. Que eu saiba, -1+8 = 7 e não Mod.

Citação de: Dr.XGB online 24/07/2018 às 22:08
Na verdade -1Mod8 = -1. E não 7...  :hein:
Até porque quando x pertence aos números naturais -1/8 dá 0 e x pertencendo aos racionais dá 0,125.
De zero pra -1 sobra -1.
Vc pode até testar na calculadora científica que vai dar esse resultado. Que eu saiba, -1+8 = 7 e não Mod.
Não querendo te incomodar muito haha, mas teria como tu me dar um exemplo da utilidade desse Mod dentro do rpg maker? Ex: algum evento, sistema, etc.
Darles LSF

Claro! Ele é útil para diversas situações. Vou usar um exemplo clássico: quando você quer separar os números de um valor.
Suponha que temos o número 1054. Agora vamos destrinchá-lo, separar número por número.
Abra a calculadora no Modo Programador se quiser conferir ou faça isso com as variáveis do RPG Maker.
1054/1000 = 1
1054/100 = 10Mod10 = 0
1054/10 = 105Mod10 = 5
1054Mod10 = 4
Graças a esse operador, conseguimos separar o número 1054 e temos agora 1, 0, 5 e 4. Com isso podemos criar HUD's com o valor de um HP, por exemplo, Gold Points, Exp e por aí vai.

Além disso, usamos também em fórmulas. Uma delas que eu uso bastante é a fórmula da grade, onde conseguimos converter coordenadas em uma única variável e vice-versa. Tem um sistema aqui no fórum que utilizei essa fórmula que envolve divisão e Modulo.
Dá uma lida nesse tutorial que está no link abaixo. É um sistema de nível avançado, mas você pode ler para ver como que eu apliquei esse operador para desenvolver esse sistema.
https://centrorpg.com/index.php?topic=16919

26/07/2018 às 06:19 #6 Última edição: 26/07/2018 às 06:40 por DarlesLSF
Citação de: Dr.XGB online 25/07/2018 às 21:20
Claro! Ele é útil para diversas situações. Vou usar um exemplo clássico: quando você quer separar os números de um valor.
Suponha que temos o número 1054. Agora vamos destrinchá-lo, separar número por número.
Abra a calculadora no Modo Programador se quiser conferir ou faça isso com as variáveis do RPG Maker.
1054/1000 = 1
1054/100 = 10Mod10 = 0
1054/10 = 105Mod10 = 5
1054Mod10 = 4
Graças a esse operador, conseguimos separar o número 1054 e temos agora 1, 0, 5 e 4. Com isso podemos criar HUD's com o valor de um HP, por exemplo, Gold Points, Exp e por aí vai.

Além disso, usamos também em fórmulas. Uma delas que eu uso bastante é a fórmula da grade, onde conseguimos converter coordenadas em uma única variável e vice-versa. Tem um sistema aqui no fórum que utilizei essa fórmula que envolve divisão e Modulo.
Dá uma lida nesse tutorial que está no link abaixo. É um sistema de nível avançado, mas você pode ler para ver como que eu apliquei esse operador para desenvolver esse sistema.
https://centrorpg.com/index.php?topic=16919
Muito obrigado pelo exemplo. No momento tô fazendo um sistema de batalha no 2k3 e cheguei na parte onde preciso mostrar os valores do dano na tela. Vou tentar usar esse método que você utilizou acima :D
Edit:
Me surgiu uma dúvida:
caso eu quisesse utilizar esse teu exemplo acima para mostrar os valores do dano do meu herói ou do monstro, eu teria que definir 4 variáveis para guardar o valor do dano, e depois usar uma dessas variáveis para os milhares, outra para as centenas, outra para as dezenas e, por último, outra para as unidades?
Darles LSF

Citação de: DarlesLSF online 26/07/2018 às 06:19
caso eu quisesse utilizar esse teu exemplo acima para mostrar os valores do dano do meu herói ou do monstro, eu teria que definir 4 variáveis para guardar o valor do dano, e depois usar uma dessas variáveis para os milhares, outra para as centenas, outra para as dezenas e, por último, outra para as unidades?
Isso mesmo. Uma variável vc guarda o valor do dano. Depois vc cria 4 variáveis (caso ela tenha 4 dígitos), aí vai guardando os números separados em cada uma delas usando os cálculos explicados acima.