PanoramicaMUD
Da MontelLUG WIKI.
Mappa
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
Contiene una descrizione dell'ambiente e la lista di oggetti e personaggi non giocanti presenti.
FakeLocation
Contiene un'identificativo, un puntatore alla Location di cui e' scheletro, i puntatori alle Connection vicine e la lista dei personaggi giocanti.
Connection
Gestisce i permessi di accesso alle FakeLocation.
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.