Limitar arrays e fazer sortear um valor apenas uma vez
Página 1 de 1
Limitar arrays e fazer sortear um valor apenas uma vez
IDEIA INICIAL: Escolher quantos jogadores na UI (Min 5 Max 20), Após isso você aperta em gerar e onde esta RESULTADO, vai aparecer um cargo para você EX:("Detetive", "Assassino" ou "Vitima"), Mas só pode aparecer apenas 1 Vez o Assassino e 1 Vez o Detetive e o Resto dos jogadores são Vitimas EX: (vão ser 10 jogadores 1 e Assassino e 1 e Detetive o resto e Vitima)
Quero poder limitar um array Ex:(Min: 5 Max: 20) para poder falar quantos jogadores vão ter
e o outro e conseguir fazer um sorteio dentro desse array que vai escolher mostrar na UI sumir e não vai mais aparecer no sorteio da Array
ALGUNS EXEMPLOS QUE COMEÇEI A FAZER
Ai esse Script eu peguei aqui no Fórum, e tentei implementar para as variáveis
https://prnt.sc/20xf90x A UI que estou utilizando
Quero poder limitar um array Ex:(Min: 5 Max: 20) para poder falar quantos jogadores vão ter
e o outro e conseguir fazer um sorteio dentro desse array que vai escolher mostrar na UI sumir e não vai mais aparecer no sorteio da Array
ALGUNS EXEMPLOS QUE COMEÇEI A FAZER
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System.Linq;
public class TextRandom : MonoBehaviour
{
public string[] players = { "detective","oal" } ;
int index;
public string Re;
void Update()
{
if (Input.GetButtonDown("F"))
{
OI();
}
}
public void OI()
{
index = Random.Range(0, players.Length);
Re = players[index];
}
}
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Gerardor : MonoBehaviour
{
public int valorMin = 1;
public int valorMax = 20;
[Space(20)]
public int valorSorteado;
[Space(20)]
public List<int> numerosJaSorteados = new List<int>();
public string[] players = { "Detetive", "Assasino"};
public string Re;
private void Update()
{
Re = players[valorSorteado];
}
public void aqui()
{
NumeroRandomico();
}
public int NumeroRandomico()
{
if (Mathf.Abs(valorMax - valorMin) > numerosJaSorteados.Count)
{
while (true)
{
int numeroAleatorio = Random.Range(valorMin, valorMax);
if (!numerosJaSorteados.Contains(numeroAleatorio))
{
numerosJaSorteados.Add(numeroAleatorio);
return numeroAleatorio;
}
}
}
else
{
Debug.LogError("todos os numeros ja foram sorteados");
return 0;
}
}
}
Ai esse Script eu peguei aqui no Fórum, e tentei implementar para as variáveis
EricknhYT- Avançado
-
PONTOS : 1618
REPUTAÇÃO : 8
Idade : 18
Áreas de atuação : Programando Patrulha Ostensiva - Msc Studios
Respeito as regras :

» COMO FAZER UMA REFLECTION PROBE AFETAR APENAS UM OBJETO
» [Duvida] Como fazer o inimigo sortear uma AI point e andar aleatoriamente?
» [DÚVIDA]Como fazer um lerp de um determinado valor de maneira gradativa
» [TUTORIAL] Fazer som tocar apenas com colisão
» Fazer um detetive para sair apenas 1 vez o resultado do sorteio
» [Duvida] Como fazer o inimigo sortear uma AI point e andar aleatoriamente?
» [DÚVIDA]Como fazer um lerp de um determinado valor de maneira gradativa
» [TUTORIAL] Fazer som tocar apenas com colisão
» Fazer um detetive para sair apenas 1 vez o resultado do sorteio
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos