Dunque, la fase 2 sarebbe solo da programmare "generica" poi in teoria è automatica di volta in volta.
Dalla tua prima immagine noto però subito un problemino.
Dov'è finita la variabile 104???
Per operare come vettore è necessario che le variabili siano una di seguito all'altra, senza "buchi" o salti, altrimenti non funziona.
E ora, giusto per chiarire un po' di terminologia:
Una variabile sai cos'è. E' un "contenitore" nel quale puoi memorizzare cose.
Nei linguaggi di programmazione una variabile è qualcosa del tipo
int pippo;
con questa riga si dice al compilatore che deve riservare memoria per una variabile che si chiamerà d'ora in poi "pippo" e che sarà di tipo int, cioè un numero intero secondo la sintassi del linguaggio (e il tipo serve appunto a sapere che tipo di dato ci andrà a finire dentro, come leggerlo e quanta memoria occupa nella ram).
Poi con una variabile più avanti nel codice uno ci fa cose.
Gli assegna un valore, lo moltiplica, ecc
pippo = 2;
pluto = pippo * 2;
...
Un vettore cos'è?
è un condominio di variabili, un nome di comodo per identificare una serie di variabili dello stesso tipo una accanto all'altra.
quando definisco un vettore, di nuovo
int paperino[10];
ho indicato al compilatore che paperino sarà un vettore di 10 variabili di tipo intero.
si comporta esattamente come ogni altra variabile, ma avendo 10 spazi, posso accedervi singolarmente usando l'indice fra le parentesi quadre.
Ora per convenzione gli indici partono da 0, quindi i dieci elementi di paperino saranno
paperino[0]
paperino[1]
paperino[2]
...
paperino[9]
se voglio assegnare un valore al primo elemento del vettore userò un semplicissimo
paperino[0] = 4444;
la cosa bella dei vettori è che tramite il numero fra parentesi quadre, CHE PUò ESSERE INDICATO A SUA VOLTA DA UNA VARIABILE, io posso scorrermi tutti i valori con semplicità.
Quindi un'altra variabile, detta indice, ma è solo un nome, viene usata per identificare i singoli elementi.
int i;
paperino[i]
il valore che otterrò da paperino sarà dipendente dal valore assunto da i, ovviamente compreso fra 0 e 9, altrimenti si avranno errori.
Per esempio posso creare un vettore di tot elementi per tenere traccia della mano di carte di un giocatore in un gioco di carte e tramite la variabile i, facendola crescere da 0 al numero di carte che ho in mano -1 controllare tutte le carte per cercarne una in particolare.
Come si applica tutto questo a RPGMaker, almeno nella gestione delle variabili a eventi (che se gestite tramite script immagino siano più simili alla programmazione standard.
Rpgmaker riconosce solo valori numeri interi come variabili (positivi e negativi).
ogni variabile ha un numero ID e un nome. Il nome, che gli assegni tu, è solo un'etichetta che serve a te per ricordarti a che serve quella particolare variabile, ma al programma, che la variabile abbia o meno un nome, non importa nulla, l'importante è l'ID.
E guarda un po', TUTTE le variabili di RPGMaker, sono contenute in un VETTORE di migliaia di variabili di tipo int(ero).
0001
0002
0003
...
999999 (o numero definito dall'utente)
sono tutti gli elementi di questo vettorone gigante che noi usiamo per tutti i nostri conti (in questo caso però non partono da 0, ma da 1)
Quindi di fatto abbiamo già a che fare con un vettore, solo che è molto grosso e siamo abituati a vederlo singola variabile per singola variabile.
Quello che intendo quando dico che la ruota degli elementi può essere rappresentata da un vettore intendo dire che i suoi spicchi possono essere associati a 20 variabili CONSECUTIVE
ad esempio da 102 a 121
e poi posso navigare fra gli spicchi usando una variabile esterna, un INDICE, per andare da questi 2 numeri, 102 a 121 per identificare i relativi spicchi.
In rpgmaker non esiste la notazione VETTORE[INDICE] fra parentesi quadre.
Esiste però un'assegnazione di variabile che assegna a una variabile il valore di una variabile il cui numero ID è contenuto in un'altra variabile ancora... °_°
sì, è più complicato a dirlo che a farlo.
Se io oltre a quelle 20 variabili che hanno per ID i numeri da 102 a 121 uso un'altra variabile, bo, non mi interessa che ID abbia purché non sia uno di quelli e la uso per memorizzare un numero compreso fra 102 e 121 la posso sfruttare per assegnare valore in sequenza ai vari spicchi.
Mettiamo che sia
0001 INDICE
indice = 102
Ora in indice c'è il numero 102, che è solo un numero per il momento.
Se faccio l'operazione adatta (che su XP non ricordo come si chiama... ma sta lì nella gestione delle variabili, in alto, terza opzione credo),
posso assegnare
ALLA VARIABILE IL CUI ID è CONTENUTO NELLA VARIABILE 0001 (e quindi la variabile 102, cioè il primo spicchio) un valore a mio piacimento.
Poi aumento di 1 INDICE e ottendo di poter accedere al secondo spicchio
e via aumento INDICE fino a 121 per scorrere tutti gli spicchi e associarvi un valore.
Spero si sia capita la logica dietro il mio ragionamento.