Oppure

Loading
03/01/14 12:01
Dice
Io ho 5 textBox, in cui voglio mettere 5 numeri casuali (come se lanciassi 5 dadi diversi).

Io ho fatto così: ho istanziato 5 dadi; e gli faccio "lanciare" usando un metodo che crea un numero casuale tra 1 e 6:
            Random rnd = new Random();

            int risultato = rnd.Next(1, numeroFacce + 1);

            return(risultato);


Poi per mettere i risultati nelle textBox faccio così:

risultato1 = Int32.Parse(this.txtRis1.Text = "" + dado1.LancioDado()); Per 5 volte


L'unico problema è che mi da lo stesso risultato su tutte e 5 le textBox.

Perchè??? Ho istanziato 5 dadi, non 1
aaa
03/01/14 19:16
GN
Non riesco a capire il tuo codice, io farei semplicemente:
Random rnd = new Random();
txtRis1.Text = rnd.Next(1, 7);
txtRis2.Text = rnd.Next(1, 7);
txtRis3.Text = rnd.Next(1, 7);
txtRis4.Text = rnd.Next(1, 7);
txtRis5.Text = rnd.Next(1, 7);
aaa
03/01/14 19:52
Dice
ma scusa, come fai a fare così?

Io ogni volta ho problemi a mettere i valori interi (cioè numeri) nelle textBox
allora devo usare sempre il metodo Parse

Comunque il problema mio era che anche se istanziavo 5 oggetti DADO diversi: Dado dado1 = new Dado(6)
Dove 6 è il numero di facce.
Poi andavo ad invocare 5 volte i metodo per lanciare il dado, cioè per i numeri casuali da 1 a 6 e gli volevo salvare in 5 textBox diverse, però mi mettevo lo stesso risultato in tutte e 5 le textBox
aaa
03/01/14 20:20
GN
Non capisco, secondo me ti stai complicando la vita, come ti ho scritto sopra non funziona? Se non funziona prova semplicemente a mettere toString alla fine di tutti (io sono abituato al VB.NET, credevo che anche in C# ci fosse il cast automatico da int a string).
aaa
03/01/14 20:40
Poggi Marco
Ciao!

I risultati sono uguali appunto perché istanzi 5 oggetto dado differenti.
In questo modo, ogni oggetto Random riceverà lo stesso seme.

Il metodo int.Parse riceve una stringa e la converte in un int.
( msdn.microsoft.com/en-us/library/…(v=vs.110).aspx )
Nel tuo caso, vedi il risultato sulle textBox a causa della doppia conversione implicita tra int e string.
Ultima modifica effettuata da Poggi Marco 03/01/14 20:59
aaa
04/01/14 11:16
Dice
Ok, per i numeri casuali ho risolto: alla fine invece di far "lanciare i 5 dadi" in un unico bottone, ho fatto 5 bottoni diversi, e adesso ho tutti numeri diversi.

Per il problema della conversione string-int invece non ho ben capito :(

Voi di solito come fate quando dovete inserire dei valori interi in una textBox?

P.S. = qui non c'è il metodo toString come VB sfortunatamente :(
aaa
04/01/14 13:13
Poggi Marco
Il metodo toString(), per gli int, esiste. ( Dove è scritto il contrario ? )
In alternativa, c'è il metodo format() della classe string: msdn.microsoft.com/it-it/library/…(v=vs.110).aspx
Ultima modifica effettuata da Poggi Marco 04/01/14 13:15
aaa
04/01/14 13:54
Dice
scusa, giusto per evenienza, mi metti un esempio di inserimento di un intero in una textbox?
aaa