Impostare probabilità che avvenga una certa azione

di il
2 risposte

Impostare probabilità che avvenga una certa azione

Ciao!

sto giocando spesso ad un gioco in cui alcuni personaggi hanno la possibilità di eseguire attacchi bonus.
ad esempio, un personaggio attacca con dieci colpi.
ogni colpo ha la possibilità del 30% di ignorare le difese dell'avversario.

mi sono inscuriosito, e vorrei capire come fare una cosa del genere (per puro scopo accademico).
ma non ho proprio capito da dove cominciare per settare la probabilità di fare venire una certa azione.
facendo proprio un caso banale:

public class Main {

    public static void main(String[] args) {
        for (int i = 0; i < 5; i++) {
            
        }
    }

}
ad ogni iterazione vorrei impostare la possibilità del 30% che venga stampato OK invece che KO.
sapete indirizzarmi su quali librerie / classi posso usare?

so già che java ha Random per generare valori casuali.
ma non saprei come applicarlo al caso specifico.

2 Risposte

  • Re: Impostare probabilità che avvenga una certa azione

    fermat ha scritto:


    ad ogni iterazione vorrei impostare la possibilità del 30% che venga stampato OK invece che KO.
    Estrai un valore random tra 0 e 9 (inclusi). Se becchi 0, 1, 2 (minore di 3, insomma) sei in quel 30% di probabilità.
  • Re: Impostare probabilità che avvenga una certa azione

    Non avevo pensato ad una soluzione così semplice

    questo dovrebbe andare:
    
    import java.util.Random;
    
    public class Main {
    
        public static void main(String[] args) {
            Random random = new Random();
            int n;
            for (int i = 0; i < 5; i++) {
                n = random.nextInt(9);
                String res = n < 3 ? "OK" : "KO";
                System.out.println(res + " - " + n);
            }
        }
    
    }
    
    un esempio di output:
    
    OK - 1
    OK - 1
    KO - 5
    OK - 0
    KO - 4
    
    grazie!!
Devi accedere o registrarti per scrivere nel forum
2 risposte