Problema con il tempo postato il 10/09/2014 14:41:23 nel forum programmazione, gdrcd, open source, hosting
Salve a tutti, sto studiando tutto quel che c'è da sapere sulla programmazione.
Per fare pratica, sto usando gdrcd.
C'è un argomento che proprio non riesco a capire:
il tempo. xD
Vorrei far si che il viaggio non sia istantaneo (come lo è in gdrcd con le mappe mobili).
Vorrei anche mettere una certa distanza tra una mappa e l'altra ( ho pensato di inserire certe coordinate nel database per ogni mappa (x e y) per calcolare la distanza).
Inoltre vorrei stampare il timeout del viaggio nella colonna in basso del mio layout.
Il problema però è che le funzioni per manipolare il tempo in php,js e mysql non le riesco proprio a capire.
Non è che qualcuno potrebbe spiegarmelo o semplicemente linkarmi guide semplici che mi permettano di fare ciò?
Grazie in anticipo :p
Pagine → 1
10/09/2014 15:16:57
http://php.net/manual/en/refs.calendar.php
Questa è la documentazione ufficiale.
Magari comunque se ci spieghi più chiaramente il problema ti possiamo aiutare meglio :)
10/09/2014 15:38:37
Innanzitutto grazie di aver risposto.
vorrei far si che lo spostamento delle mappe mobili in gdrcd non fosse istantaneo ovvero:
partenza----> timeout -----> cambio posizione personaggio.
Inoltre vorrei che il tempo in cui viaggi sia stampato a video nella colonna bassa del layout...
Spero di essere stato chiaro xD
11/09/2014 09:10:05
Non so come funziona il sistema mappe di gdrcd, ma ad occhio non credo che ti serva lavorare con il tempo.
Io dividerei la mappa in una griglia immaginaria, assegnando ad ogni luogo una coordinata X,Y in base alla posizione sulla mappa. A quel punto se devo muovermi dalla chat A (1,3) alla chat B (4,2) mi basta calcolare la distanza minore fra i due punti e moltiplicare il numero di caselle occorrenti per una costante fissa. Ecco il tempo di spostamento.
Esempio pratico:
Prendo una griglia 5x5, con i due punti alle coordinate descritte prima. Per muovermi dal punto A al punto B la strada più veloce prevede spostarmi di 3 caselle sull'asse X (1,3 ---> 4,3) e poi salire di una sull'asse Y ( 4,3 ---> 4,2).
In totale sono 4 spostamenti. Se per ogni spostamento calcoliamo 15 secondi -> Dal punto A al punto B bisogna attendere 60 secondi.
11/09/2014 11:09:16
Il gdrcd 5.x salva nel database le coordinate in pixel della locazione sulla mappa, per cui potrebbe anche eventualmente sfruttare quelle coordinate per calcolare la distanza tra la locaizone attuale e quella di arrivo quando f ail click su una nuova locazione, con delle smeplici funzioni matematiche, e da li calcolare il tempo di percorrenza da stampare
11/09/2014 16:14:38
Si, sulle coordinate avevo pensato anche io a qualcosa del genere.
Il problema però è un altro :
come avvio un countdown?
come lo stampo a video nella bottom column?
come faccio a far si che se un countdown è avviato il personaggio non può viaggiare finchè il countdown non termina?
Riguardo ai calcoli matematici riesco a sbrigarmela da solo, ma le funzioni per manovrare il tempo proprio non riesco a capirle.
11/09/2014 16:22:41
Una soluzione potrebbe essere 8te la spiego a livello di concetto, dopo per le eventuali funzioni dovresti fare nel dettaglio tu):
ti crei un nuovo campo nel database di tipo DATETIME nella tabella personaggio, che chiamerai come vuoi, dove salvare il dato della data e orario dia rrivo del pg nella nuova locaizone.
Quando un pg si sposta da un punto all'altro della mappa prime recuperi se il pg ha gia ocmpletato qualsiasi altro spostamento con una quesry di SELECT sul campo usato per salvare la data/ora di fine spostamento.
Se quel valore è minore dell'orario attuale, ti calcoli il tempo di spostamento rispetto alla data/ora e calcolando l'orario di arrivo aggiorni il campo del database.
Per stampare poi la data/ora di arrivo dove vuoi lo stesso usi una query di SELECT per farlo recuperandola dal database
11/09/2014 17:04:28
11/09/2014 17:22:43
calcolandoti la distanza con le formule matematiche otterrai un valore numerico della distanza in pixel ta partenza e arrivo, non ti resta che decidere a quanto tempo corrisponde ogni pixel (supponiamo 1 minuto, valore solo per fare l'esempio) ti calcoli il tempo in minuti in base al risultato, supponiamo 10 pixel, quindi 10 minuti e poi fa una query del tipo
11/09/2014 17:53:51 e modificato da alfonso cavallieri il 11/09/2014 17:56:30
(ora apparirò rompi scatole, lo so xD)
Potresti farmi un esempio di inserimento di una variabile per aggiungere minuti al tempo?
ps: è da precisare che il luogo che il giocatore selezionerà come destinazione io non la conosco, tantomeno l'origine. Insomma, vorei automatizzare la cosa, come potrei fare?
Discussione seguita da
Pagine → 1
Rispondi alla Discussione Aggiungi ai Preferiti Inoltra Discussione Forum Programmazione, GDRCD, Open Source, Hosting Elenco Forum
I dati del generatore di rank sono stati aggiornati!
World of Warship → MMO gratuito con frenetiche battaglie navali ambientate nel ventesimo secolo. Salpa con la tua nave ed affronta i nemici!
ultima_profecia ha risposto alla discussione: Ùltima Profecía
Legacy of Magic: Sorge un nuovo Drakaal
baudolino95 ha aperto un annuncio di ricerca: Grazie Fantasy ricerca Programmatore
Feudera: UPDATE #0.48.8 - Edifici cittadini
Metin2 → Sfida i tuoi rivali a battersi con te e dimostra la tua superiorità in questo mondo fantasy!
new hill gdr ha aperto un annuncio di ricerca: New Hill Gdr ricerca Giocatore
Pandora Upside Down High School: Gita nel tempo!
World of Warship: In lavorazione aggiornamento 13.9
Immortals Revenge: Manutenzione e Aggiornamenti
World of Warship → MMO gratuito con frenetiche battaglie navali ambientate nel ventesimo secolo. Salpa con la tua nave ed affronta i nemici!
Enlisted: Aggiornamento 0.6.1.14
Seconda Era - Le Terre Libere: Implementazioni
Le Cronache di Alderon: Concluso il duello a Rodden
silverspectre ha recensito Brightest Star
Titan Revenge → Diventa il grande generale del regno e ottieni il favore degli dei per diventare una valchiria. Unisci le forze per salvaguardare l'umanità!
The Smoke - Intervista alle gestrici di The Smoke.. play by chat moderno ambientato in Inghilterra
SiteCreationAvilion - Scarica SiteCreationAvilion e crea facilmente un sito web per la tua gilda o il tuo clan!
Galadriel - Lo Specchio di Galadriel e l'immaginario femminile nell'opera di Tolkien
Giochi Criminalità - Lista completa dei giochi di ruolo online ambientati nel mondo della criminalità
Castello Medievale - Articolo sui Castelli Medievale: il modo di costruirli e la loro vita
Aperture Play by Chat - Interessante grafico sul numero di Play By Chat aperti suddivisi per anno!