Azioni

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'' rappresenta il singolo ambiente con tutte le sue caratteristiche e gli oggetti che ci sono dentro, da tenere in memoria solo quando serve, ''FakeLocation'' e' uno scheletro della ''Location'' con le robe necessarie da avere sempre in memoria per possedere tutta la mappa, ''Connection'' e' la classe che connette due ambienti e contiene i permessi di passaggi dall'uno all'altro (non viceversa, scendere da un dirupo e salirci richiedono abilita' diverse).
 
Vediamole nel dettaglio.
 
  
 
'''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 23: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.

Permessi

Personaggi

Oggetti

Quest