Fórum iBlue
Sorteando valores diferentes para várias variáveis Buddy_Group

Bem Vindos ao iBlue GAMES!

Registre-se para obter acesso especial em todo conteúdo presente no Fórum!
Tenha um bom uso do nosso fórum, e seja ativo!





Fórum iBlue
Sorteando valores diferentes para várias variáveis Buddy_Group

Bem Vindos ao iBlue GAMES!

Registre-se para obter acesso especial em todo conteúdo presente no Fórum!
Tenha um bom uso do nosso fórum, e seja ativo!





Somos ÚNICOS, somos o SEU fórum


Você não está conectado. Conecte-se ou registre-se

Ver o tópico anterior Ver o tópico seguinte Ir para baixo  Mensagem [Página 1 de 1]

T-Lord
Administrador
O sistema a seguir é útil para quem quer
sortear valores aleatórios para várias variáveis sem que os valores
delas se repitam. Com isso é possível fazer sistemas para embaralhar
Card Games e coisas do tipo.

(É recomendável que saiba o básico sobre variáveis, labels, switches e condições.)

Primeiro, crie um evento. Ele pode ser
ativado da forma que você quiser, depende de que sistema você vai
acoplar a isso. No exemplo a seguir, o evento iniciará em processo
paralelo.

*

Parte 1: Organizando as variáveis


Para que fique tudo organizado e que
você não se confunda na hora de programar o sistema, é altamente
recomendado nomear as variáveis.

Sorteando valores diferentes para várias variáveis S3Qct

Repare nos nomes: as variáveis Valor e Aux irão nos auxiliar no sistema, enquanto num1, num2, num3, num4 e num5 são as variáveis que receberão os valores aleatórios e diferentes.

*

Parte 2: Os primeiros comandos


Agora vamos começar a programar: selecione o comando de evento Opções de Variável, selecione a variável Valor, escolha Substituir e coloque o valor 1 em Constante, depois clique em OK.

Sorteando valores diferentes para várias variáveis TzkD9

Agora vamos criar uma Label, nomeando-a como quiser:

Sorteando valores diferentes para várias variáveis BaIcd

Nossos comandos de eventos já estão mais ou menos assim:

Sorteando valores diferentes para várias variáveis RhqIo

Agora abra mais uma vez o comando Opções de Variável e selecione a variável Aux, escolha Substituir colocando Aleatório de 1 até 5. Vai ficar assim:

Sorteando valores diferentes para várias variáveis N9NLb

Depois disso, vamos adicionar um comando muito importante para que o sistema fique funcional. Escolha o comando Esperar e coloque 1 frame:

Sorteando valores diferentes para várias variáveis Bui1i

E os seus comandos devem ter ficado como os da imagem abaixo:

Sorteando valores diferentes para várias variáveis SLX2o

*

Parte 3: Criando as condições


Agora crie uma Condição, selecione a opção Variável e escolha a variável Aux. Selecione a opção Constante, coloque o valor 1, e embaixo escolha a opção Igual a. Se quiser, desmarque a opção para adicionar exceção, assim:

Sorteando valores diferentes para várias variáveis POOg1

Agora crie outra condição e faça nela o mesmo que a outra, só que dessa vez coloque a Constante igual a 2.

Sorteando valores diferentes para várias variáveis Acsaz

Repita o processo criando mais 3
condições, uma com a constante igual a 3, outra com ela igual a 4 e
outra com ela igual a 5. Feito isso vamos ter 5 condições e seus
comandos vão ficar assim:

Sorteando valores diferentes para várias variáveis FIj4i

*

Parte 4: Criando mais condições


Agora vamos criar uma condição dentro da nossa primeira condição (que fizermos anteriormente). Escolha o comando Variável, selecione a variável num1, escolha a opção Constante, coloque zero no valor e depois escolha a opção Igual a. Dessa vez, vamos deixar marcada a opção de adicionar exceção, ficando assim:

Sorteando valores diferentes para várias variáveis PBxVm

Dê OK e abra novamente o comando Opções de variável, selecione a variável num1, escolha a opção Substituir, depois clique na opção Variável e selecione a variável Valor. Ficará assim:

Sorteando valores diferentes para várias variáveis EgQV6

Outra vez, iremos abrir o comando Opções de Variáveis. Selecione a variável Valor, escolha a opção “+” e depois coloque 1 como valor da Constante.

Sorteando valores diferentes para várias variáveis PPVnS

Agora vamos usar o comando Ir para Label. Digite lá o nome que você escolheu anteriormente para aquela que criou.

Sorteando valores diferentes para várias variáveis 5ruyN

Copie o mesmo comando Ir para Label que criamos aqui e coloque-o também na Exceção da condição que criamos no início da Parte 4 deste tutorial.

Iremos agora repetir esse processo para
as outras 4 condições que criamos na Parte 3. Criamos então uma condição
dentro da segunda condição que criamos na Parte 3, só que agora ao
invés de selecionar a variável num1, vamos fazer com a num2. Na terceira, a num3, e assim por diante. Veja como vai ficando:

Sorteando valores diferentes para várias variáveis XcwM1

Repita o processo para todas as condições.

*

Parte 5: Toques finais


Agora vamos criar uma condição em cima da primeira que há em sua aba de eventos. Escolha a opção Variável, selecione a variável Valor, escolha Constante e atribua 5 a ela. Embaixo, selecione Maior.

Sorteando valores diferentes para várias variáveis Czoq6

Clique em OK e depois crie uma Switch Local (dentro da condição) que sirva para mudar a página do evento. Seus comandos ficarão assim:

Sorteando valores diferentes para várias variáveis Rq1K2

O sistema está pronto!

*

Parte 6: Dicas


Para testar se o sistema está programado corretamente, vamos criar um NPC e usar o comando Mostrar Mensagem para exibir os valores das variáveis.

Sorteando valores diferentes para várias variáveis RmRgk

Agora é só rodar o jogo e ver se está tudo certo:

Sorteando valores diferentes para várias variáveis Ltqoo

*

Entendeu como funciona?


Caso não tenha entendido a lógica do sistema, segue a explicação. Primeiro vemos que a variável Valor tem definido o valor 1. Após isso há uma Label e depois um sorteio aleatório da variável Aux
que vai de 1 até 5. Dependendo do valor dela, o evento irá executar uma
das 5 condições de baixo, e depois ele vai verificar, uma por uma, se
as variáveis num1, num2,
etc, são iguais a zero. Se alguma for, sabemos que não foi sorteado
nenhum valor para ela, então os comandos de dentro da condição são
executados. Ela então vai receber o valor da variável Valor, que ali é igual a 1, no momento. Além disso, a variável Valor recebe +1 em sua constante.

Em seguida, o sistema volta para a Label, e perceba que a variável Valor já é igual a 2. Uma das variáveis “num” já possui o valor 1, e portanto vem a repetição do evento, que acontece por conta da Label. Mas, dessa vez, estaremos sorteando uma variável para receber o valor 2.

Caso uma das variáveis já possua um
número, ao invés de executar o que tem na condição, irá executar a
exceção, que faz simplesmente voltar para a Label e repetir tudo até que encontre uma variável que não tenha nenhum valor até o momento.

Depois que todas as variáveis receberem seus devidos valores, a variável Valor terá uma constante maior que 5, o que significa que será executada uma condição que vai mudar a aba do evento, fazendo-o parar.

*

Perguntas frequentes


1 – Se eu quiser sortear outros valores além de 1 a 5, posso?
Claro que sim, basta mudar a sorteio aleatório que é feito com a variável Aux.

2 – E se eu quiser que o sorteio seja de 0 a 4, e não de 0 a 5? Vai dar erro se eu apenas mudar o sorteio aleatório do Aux.
É simples: no final do evento, na condição que faz o evento parar, faça a variável que recebe o valor 5 receber o valor zero.

*

Demonstração


Sorteando valores diferentes para várias variáveis Downarr
Clique aqui para baixar um projeto de exemplo!
(feito em RPG Maker XP)

http://www.zonetoony.net/
juan™
Administrador
Obrigado Por Compartilhar esse tutorial

http://www.zonetoony.net/

Ver o tópico anterior Ver o tópico seguinte Ir para o topo  Mensagem [Página 1 de 1]

Permissões neste sub-fórum
Não podes responder a tópicos