21 422
contributi
m |
|||
{{incompleto|necessita=Qualsiasi cosa da dopo la quinta generazione}}
Un '''generatore di {{wp|numeri pseudo-casuali}}''' (in inglese, '''pseudo-random''') è il tentativo,
==
Innanzitutto il generatore deve avere un
▲Innanzitutto il generatore deve avere un "seme", un numero iniziale dal quale partire. Questo numero è solitamente la data e l'orario in cui l'algoritmo di generazione viene ''chiamato'' dal software. I semi sono talvolta derivati dall'input umano (l'interazione dell'utente col software), dato che - per la stessa natura umana - è molto difficile riuscire a fare esattamente la stessa cosa più di una volta: il risultato sembra così essere casuale.
▲Questo seme viene passato poi attraverso un algoritmo molto complesso, e il risultato viene formattato a seconda delle esigenze del contesto. Il risultato di questa generazione diventa poi esso stesso il seme per un utilizzo successivo del generatore pseudo-casuale, rendendo ''[[wp:ricorsività|ricorsivo]]'' l'algoritmo che ne sta alla base.
===Generatore lineare congruenziale di numeri casuali (LCRNG)===
[[Pokémon Stadium]], i gochi di [[terza generazione|terza]] e [[quarta generazione]] e [[Pokémon Colosseum]] utilizzano un {{wp|generatore lineare congruenziale}}.
Nei calcoli sottostanti, ''seed'' è un numero compreso tra <math>0</math> e <math>0xFFFFFFFF</math>. Se il generatore ha già chiamato un numero in precedenza, ''seed'' è il valore risultante dalla precedente chiamata al generatore.
▲== In Pokémon ==
* Pokémon Stadium: <math>risultato = 0x41C64E6D \times seed + 0x0000303B</math>
** Questa equazione viene calcolata più volte, a seconda del registro della [[Nintendo 64|console]], poi subisce una operazione logica {{wp|Disgiunzione esclusiva|XOR}} con un altro numero pseudocausale.
* Pokémon Colosseum: <math>risultato = 0x000343FD \times seed + 0x00269EC3</math>
* Terza e quarta generazione: <math>risultato = 0x41C64E6D \times seed + 0x00006073</math>
* Macchine Pokémon Machine v2 (usate per la distribuzione di [[Pokémon evento]]): <math>risultato = 0x41C64E6D \times seed + 0x00003039</math>
In terza e quarta generazione l'algoritmo è utilizzato per queste funzioni di gioco:
* Determinare la comparsa di un {{pkmn2|Uovo}} alla [[Pensione Pokémon]].
In [[quinta generazione|quinta]] e [[sesta generazione]] il gioco utilizza invece un LCRNG con la seguente formula:
:<math>risultato = 0x5D588B656C078965 \times seed + 0x0000000000269EC3</math>
Questo algoritmo viene utilizzato per:▼
I giochi di [[quarta generazione]] utlizzano un algoritmo differente per alternare, modificare o ricalcolare un valore generato in precedenza. L'algoritmo funziona allo stesso modo del precedente, ma con la seguente equazione:
▲* criptare i dati dei Pokémon nel file di salvataggio;
▲* generare i valori di [[Personalità]] di un Pokémon selvatico;
▲* generare i [[punti individuali]] di un Pokémon selvatico;
▲* determinare la specie di un Pokémon selvatico;
▲* determinare il numero della [[Lotteria]].
▲== Generatore alternativo di numeri pseudo-random ==
* [[Shiny lock|Restrizioni sulla cromaticità]] di alcuni Pokémon specifici:
** I [[Pokémon evento]] ottenuti da [[Scheda Segreta|Schede Segrete]] di tipo 1,
** [[Mew]] e [[Phione]] di [[My Pokémon Ranch]].
* Determinare la specie di una [[Comparse massicce|comparsa massiccia]].
===Mersenne Twister (MTRNG)===
A partire dalla [[quarta generazione]] è presente un ulteriore algoritmo, il {{wp|Mersenne Twister}}, un generatore di numeri pseudocasuali che produce 624 numeri casuali alla volta che vengono poi conservati e usati quando serve. Una volta che tutti i 624 numeri sono stati usati, viene generato un nuovo set di numeri.
Questo algoritmo è usato per le seguenti meccaniche:
▲: <math>x = [(\mathsf{0x6C078965} \cdot seme) + \mathsf{0x1}]</math>
* Generare il [[Numero ID Allenatore]] e il numero di ID segreto (SID) in quarta generazione.
* Generare il numero [[Personalità|PID]] delle {{pkmn2|Uova}} in quarta generazione.
▲* l'uovo di [[Manaphy]] in {{ga|Pokémon Ranger}};
* Calcolare i cambiamenti dell'[[affetto]].
* Calcolare le animazioni degli sprite in [[quinta generazione]].
▲* determinare i Pokémon presenti nella [[Gran Palude]];
* Generare i [[valori individuali]] di un [[Pokémon selvatico]] in quinta generazione.
▲* determinare i Pokémon presenti nel [[Giardino Trofeo]];
* Determinare la decisione delle [[Mossa|mosse]] usate dall'IA in quinta generazione.
== Collegamenti esterni ==
|