Ir para conteúdo

Porcentagem de chance


johnny

Posts Recomendados

Preciso de uma ajuda, um plugin de sorteio de itens , sei sortear os itens porem nao sei colocar chances tipo, se item A tiver chance de 30% ele tem maior chance de cair do que o q tem 2% tipo
item_1
nome: 'nome'
chance : 2   "2 %"

se alguem poder me ajudar , a entender como fazer isso , agradeço 

Link para o comentário
Compartilhar em outros sites

se você tem um item com 2% e outro com 30%, tens 32% de chance de cair algo, 68% de não cair nada.

você pode fazer assim:

public class Main {
	
	private static final Object[][] items = new Object[][] {new Object[] {"Item 1", 30}, new Object[] {"Item 2", 2}};
	private static final HashMap<Integer, Object[]> itemMap = new HashMap<>();
	
	private static final Random random = new Random();
	public static void main(String[] args) {
		for (Object[] item : items) {
			final int chance = (int) item[1];
			final int size = itemMap.size();
			for (int i = size; i < chance + size; i++) {
				itemMap.put(i, item);
			}
		}
		
		if (itemMap.size() < 100) {
			for (int i = itemMap.size(); i < 100 - itemMap.size(); i++) {
				itemMap.put(i, null);
			}
		}
		
		final int random = Main.random.nextInt(100);
		
		final Object[] item = itemMap.get(random);
		
		if (item != null) {
			System.out.println("Nome: " + item[0]);
			System.out.println("Chance: " + item[1] + "%");
			System.out.println("Número: " + random);
		} else System.out.println("Você não ganhou nada. (" + random + ")");
		
	}
	
}

não tem todas as verificações que poderia ter, mas funciona.
se precisar de ajuda para entender me chama no discord.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...