Differenze tra le versioni di "PanoramicaMUD"
Da MontelLUG WIKI.
(→Mappa) |
|||
Riga 1: | Riga 1: | ||
==Mappa== | ==Mappa== | ||
La mappa e' realizzata tramite 3 classi: ''Location'', ''FakeLocation'' e ''Connection''. | La mappa e' realizzata tramite 3 classi: ''Location'', ''FakeLocation'' e ''Connection''. | ||
− | |||
− | |||
'''Location''' | '''Location''' | ||
− | Contiene una descrizione dell'ambiente e la lista di oggetti e personaggi non giocanti presenti. | + | Contiene una descrizione dell'ambiente e la lista di oggetti e personaggi non giocanti presenti all'interno dell'ambiente. Le informazioni contenute nella location sono normalmente immagazzinate nel db (su disco); vengono caricate in memoria solo quando almeno un personaggio giocante è nella location. Dopo tot tempo in cui nella location non vi è più nessun pg, viene salvata nel db e tolta dalla memoria. |
'''FakeLocation''' | '''FakeLocation''' | ||
− | Contiene un'identificativo, un puntatore alla ''Location'' di cui e' scheletro, i puntatori alle ''Connection'' vicine e la lista dei personaggi giocanti. | + | E' lo scheletro della location, mantenuto sempre in memoria per rappresentare la mappa. Contiene un'identificativo, un puntatore alla ''Location'' di cui e' scheletro, i puntatori alle ''Connection'' vicine e la lista dei personaggi giocanti. |
'''Connection''' | '''Connection''' | ||
− | Gestisce i permessi di accesso alle ''FakeLocation''. | + | Rappresenta la connessione tra FakeLocation. Gestisce i permessi di accesso alle ''FakeLocation'' da parte dei pg. |
---- | ---- |
Versione delle 22:20, 15 lug 2004
Mappa
La mappa e' realizzata tramite 3 classi: Location, FakeLocation e Connection.
Location
Contiene una descrizione dell'ambiente e la lista di oggetti e personaggi non giocanti presenti all'interno dell'ambiente. Le informazioni contenute nella location sono normalmente immagazzinate nel db (su disco); vengono caricate in memoria solo quando almeno un personaggio giocante è nella location. Dopo tot tempo in cui nella location non vi è più nessun pg, viene salvata nel db e tolta dalla memoria.
FakeLocation
E' lo scheletro della location, mantenuto sempre in memoria per rappresentare la mappa. Contiene un'identificativo, un puntatore alla Location di cui e' scheletro, i puntatori alle Connection vicine e la lista dei personaggi giocanti.
Connection
Rappresenta la connessione tra FakeLocation. Gestisce i permessi di accesso alle FakeLocation da parte dei pg.
Esempio
Per muoversi un giocatore controlla la FakeLocation in cui si trova e chiama un metodo della sua FakeLocation per andare a nord. La FakeLocation chiede alla Connection se il personaggio puo' passare e in caso di risposta positiva modifica il puntatore FakeLocation del personaggio, altrimenti gli notifica il rifiuto.