Precedente :: Successivo |
Autore |
Messaggio |
saetta Eroe in grazia degli dei

Registrato: 25/02/08 11:52 Messaggi: 129
|
Inviato: 31 Ago 2008 18:47 Oggetto: * numeri casuali... |
|
|
Salve, avrei una domandina...
sto realizzando un piccolo gioco in c dove ho bisogno di lanciare N dadi da 6...
Vorrei che i lanci siano realmente casuali e non pseudocasuali come garantiscono le funzioni srand() e rand()
----------------------------------
srand(unsigned int seed);
int casuale= rand();
----------------------------------
pensavo di usare :
int my_seed;
my_seed = time(NULL)+num_giocatore;
srand(my_seed) % 6 +1;
int casuale = rand();
Quali "cose" posso mettere nel seme per far si che se due dadi vengono lanciati nello stesso secondo, danno risultato diverso?(time(NULL) non mi sembra un ottimo seme allo scopo, anzi...)
grazie a tutti! |
|
Top |
|
 |
freemind Supervisor sezione Programmazione


Registrato: 04/04/07 21:28 Messaggi: 4643 Residenza: Internet
|
Inviato: 31 Ago 2008 19:16 Oggetto: |
|
|
Potresti allocare della memoria senza inizializzarla e prenderne il contenuto |
|
Top |
|
 |
saetta Eroe in grazia degli dei

Registrato: 25/02/08 11:52 Messaggi: 129
|
Inviato: 31 Ago 2008 19:19 Oggetto: |
|
|
mmm però, mica male!!! grazie!!! |
|
Top |
|
 |
SverX Supervisor Macchinisti


Registrato: 25/03/02 12:16 Messaggi: 11810 Residenza: Tokelau
|
Inviato: 01 Set 2008 10:08 Oggetto: |
|
|
freemind ha scritto: | Potresti allocare della memoria senza inizializzarla e prenderne il contenuto |
secondo me si rischia di prendere sempre gli stessi numeri così. Personalmente preferisco usare gli pseudocasuali inizializzati usando il 'timer' del PC (i millisecondi trascorsi dalla mezzanotte), come si faceva già in GWBASIC vent'anni fa  |
|
Top |
|
 |
freemind Supervisor sezione Programmazione


Registrato: 04/04/07 21:28 Messaggi: 4643 Residenza: Internet
|
Inviato: 02 Set 2008 08:03 Oggetto: |
|
|
Bhe,teoricamente se allochi memoria con malloc o calloc non dovresti trovarti valori prevedibili in ram, magari il rischio c'è nel caso tu ti limitassi a istanziare una var; penso che dipenda molto anche dal compilatore. In ogni caso si possono fare prove e combinare metodi... |
|
Top |
|
 |
saetta Eroe in grazia degli dei

Registrato: 25/02/08 11:52 Messaggi: 129
|
Inviato: 02 Set 2008 08:13 Oggetto: |
|
|
s,i credo che combinerò i metodi perchè se x caso (credo possa avvenire)lancio 2 dadi quando l'orologio di sistema indica lo stesso secondo ottengo 2 nimeri uguali. Credo che darò un id unico ad ogni giocatore , che mi servirà a comporre il seed per srand()
seed = time(NULL) + id_player + cont_mem_tmp
tipo così, per intenderci.
Grazie a tutti. |
|
Top |
|
 |
SverX Supervisor Macchinisti


Registrato: 25/03/02 12:16 Messaggi: 11810 Residenza: Tokelau
|
Inviato: 04 Set 2008 17:29 Oggetto: |
|
|
saetta ha scritto: | se x caso (credo possa avvenire)lancio 2 dadi quando l'orologio di sistema indica lo stesso secondo ottengo 2 nimeri uguali. |
no, non confondere. l'orologio di sistema serve solo per il seed, non per i lanci. L'unica cosa che può succedere è che il seed sia inizializzato per caso allo stesso millisecondo in due giorni successivi. Allora tutti i lanci di dadi saranno nella stessa sequenza della volta precedente. Ovvero se a seguito di un srand (n) si ottiene ad esempio 3,5,2,1,4,... allora se poi fai nuovamente srand (n) riotterrai dinuovo 3,5,2,1,4,... |
|
Top |
|
 |
saetta Eroe in grazia degli dei

Registrato: 25/02/08 11:52 Messaggi: 129
|
Inviato: 07 Set 2008 01:01 Oggetto: |
|
|
ah ok...
comunque scegliere un seed buono a prescindere da qualsiasi situazione... non è così banale, in linea generale... o no?
Potrei inizializzarlo all'energia cosmica presente ad ogni istante!!!
(sempre che mi regalino un rilevatore)
Scherzi a parte, a me basta molto meno, farò una cosa abbastanza classica.
Grazie a tutti x gli interventi. |
|
Top |
|
 |
chemicalbit Dio maturo


Registrato: 01/04/05 18:59 Messaggi: 18597 Residenza: Milano
|
Inviato: 07 Set 2008 09:32 Oggetto: |
|
|
saetta ha scritto: | Scherzi a parte, a me basta molto meno, farò una cosa abbastanza classica. | Tipo? |
|
Top |
|
 |
freemind Supervisor sezione Programmazione


Registrato: 04/04/07 21:28 Messaggi: 4643 Residenza: Internet
|
Inviato: 07 Set 2008 18:16 Oggetto: |
|
|
Per postare riguardo i numeri casuali continuate qui mentre i post sull'analisi di un file di testo sono stati spostati a questo link |
|
Top |
|
 |
|