così che il ciclo riparta e aggiunga 1 alla variabile Numero Giorni (che è la variabile che tiene il conto dei giorni trascorsi)
Fin qui tutto bene: il processo parallelo funziona, e grazie a un cambio di tonalità che ho abbinato, e nell'arco di 12 minuti posso vedere un'intero giorno trascorrere nel mio gioco e ripartire, avendo aggiunto 1 alla numerazione dei giorni trascorsi.
Il problema sorge dal momento che ho cercato di inserire un evento che permettesse di andare a letto e svegliarsi la mattina seguente.
L'evento, attivabile premendo INVIO su di un letto, è programmato così:
Ora, quando lo schermo torna visibile, se si controlla l'ora e il giorno (controllabile in-game tramite il tasto ESC) si vedrà che sono le ore 7 e che il numero di giorni è aumentato di uno... esattamente ciò che mi aspettavo!
quel che non mi aspettavo, invece, è che se siamo andati a letto -ad esempio- alle ore 18, dopo 30 secondi da quando ci siamo svegliati, invece delle ore 8 saranno le ore 19!
.....COME MAI??
Vi assicuro che sono un paio di sere che passo delle ore a far tentativi di risolvere questo problema, e che non riesco a metterlo a posto..
Spero di essere stato il più chiaro possibile nello spiegare la programmazione degli eventi, e spero che qualcuno abbia idea del perchè una volta svegliati il ciclo giorno/notte torna all'orario del giorno prima senza ripartire normalmente.
Se avete qualche consiglio o notate qualche errore nella logica per favore fatemelo sapere, giacchè questa è una meccanica semplice ma piuttosto importante nell'economia del gameplay di questo mio piccolo progetto!
Se non sono stato chiaro ditemelo, che proverò a spiegarmi più dettagliatamente!
Question
MrCatelani
Salve a tutti!
Ok... stavolta il problema che non riesco a risolvere è un attimo più complesso, ma sono sicuro che parlandone qualche idea verrà fuori...
Probabilmente si tratta solo di una stupidaggine da niubbo!
Provo a spiegarmi:
Ho creato un ciclo giorno/notte tramite un processo parallelo nella cartella degli eventi comuni, che viene attivato da una switch chiamata G/N.
Il processo parallelo gestisce una variabile, chiamata Ore tramite condizioni SE;
--------------------------------------------------------------------------------------
SE la variabile Ore è uguale a 10, aspetta 30 secondi, aggiungi alla variabile Ore 1
altrimenti SE la variabile Ore è uguale a 11, aspetta 30 secondi, aggiungi alla variabile Ore 1
altrimenti SE la variabile Ore è uguale a 12, aspetta 30 secondi, aggiungi alla variabile Ore 1
--- --- --- --- --- --- --- --- --- --- --- --- ---
e così via per tutte le 24 ore, con la differenza che nel comando di mezzanotte ho posto
--- --- --- --- --- --- --- --- --- --- --- --- ---
SE la variabile Ore è uguale a 24, aspetta 30 secondi, poni la variabile Ore uguale a 1, aggiungi alla variabile Numero Giorni 1
---------------------------------------------------------------------------------------
così che il ciclo riparta e aggiunga 1 alla variabile Numero Giorni (che è la variabile che tiene il conto dei giorni trascorsi)
Fin qui tutto bene: il processo parallelo funziona, e grazie a un cambio di tonalità che ho abbinato, e nell'arco di 12 minuti posso vedere un'intero giorno trascorrere nel mio gioco e ripartire, avendo aggiunto 1 alla numerazione dei giorni trascorsi.
Il problema sorge dal momento che ho cercato di inserire un evento che permettesse di andare a letto e svegliarsi la mattina seguente.
L'evento, attivabile premendo INVIO su di un letto, è programmato così:
-----------------------------------------------------------
Cancella schermo
Cambia switch: G/N metti OFF
Poni variabile Ore uguale a 7
aggiungi alla variabile Numero Giorni 1
Cambia switch: G/N metti ON
Mostra schermo
----------------------------------------------------------
Ora, quando lo schermo torna visibile, se si controlla l'ora e il giorno (controllabile in-game tramite il tasto ESC) si vedrà che sono le ore 7 e che il numero di giorni è aumentato di uno... esattamente ciò che mi aspettavo!
quel che non mi aspettavo, invece, è che se siamo andati a letto -ad esempio- alle ore 18, dopo 30 secondi da quando ci siamo svegliati, invece delle ore 8 saranno le ore 19!
.....COME MAI??
Vi assicuro che sono un paio di sere che passo delle ore a far tentativi di risolvere questo problema, e che non riesco a metterlo a posto..
Spero di essere stato il più chiaro possibile nello spiegare la programmazione degli eventi, e spero che qualcuno abbia idea del perchè una volta svegliati il ciclo giorno/notte torna all'orario del giorno prima senza ripartire normalmente.
Se avete qualche consiglio o notate qualche errore nella logica per favore fatemelo sapere, giacchè questa è una meccanica semplice ma piuttosto importante nell'economia del gameplay di questo mio piccolo progetto!
Se non sono stato chiaro ditemelo, che proverò a spiegarmi più dettagliatamente!
Grazie a tutti dell'aiuto!
Link to comment
Share on other sites
23 answers to this question
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now