08.09.2019 Views

Progettazione e Sviluppo di un Multiplayer Online Game su Reti Peer-to-Peer

Alma Mater Studiorum Universit`a degli Studi di Bologna Facolta` di Scienze Matematiche, Fisiche e Naturali Corso di Laurea in Scienze di Internet Tesi di Laurea in Laboratorio di Programmazione Internet

Alma Mater Studiorum Universit`a degli Studi di Bologna
Facolta` di Scienze Matematiche, Fisiche e Naturali
Corso di Laurea in Scienze di Internet
Tesi di Laurea in Laboratorio di Programmazione Internet

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

2.4. MODULO SHAREDCOMPONENTS 31<br />

Il p<strong>un</strong>teggio <strong>di</strong> <strong>un</strong> gioca<strong>to</strong>re, ad esempio, può essere vis<strong>to</strong> come <strong>un</strong> componente,<br />

così come la posizione del <strong>su</strong>o personaggio all’interno dell’ambiente <strong>di</strong><br />

gioco.<br />

La stessa posizione, a <strong>su</strong>a volta è composta da 3 sot<strong>to</strong>-componenti (X, Y e<br />

Z ) secondo il Composite Pattern 11<br />

I componenti che riescono a rappresentare informazioni a<strong>to</strong>miche, senza<br />

doversi appoggiare a sot<strong>to</strong>-componenti, sono da considerarsi “leaf”, e sono<br />

tipicamente quei componenti che emulano variabili Value Type (ad esempio<br />

il componenti “Int” , “Float” o “String”).<br />

Tutti gli altri componenti (come app<strong>un</strong><strong>to</strong> la posizione del personaggio, che<br />

sarà concretizzata da <strong>un</strong> componente <strong>di</strong> tipo “Vec<strong>to</strong>r3”) sono aggregati, <strong>di</strong>retti<br />

o in<strong>di</strong>retti, <strong>di</strong> quest’ultimi.<br />

Ogni componente soggiace a precise regole che ne consen<strong>to</strong>no <strong>un</strong>a facile<br />

gestione non solo all’interno del modulo stesso, ma specialmente se quest’ultimo<br />

viene utilizza<strong>to</strong> come Data Layer all’interno <strong>di</strong> <strong>un</strong>’applicazione <strong>di</strong><br />

rete:<br />

• Ogni componente (parent) può essere compos<strong>to</strong> da altri componenti<br />

(child)<br />

• Ogni componente deve essere genera<strong>to</strong> da <strong>un</strong> apposi<strong>to</strong> Fac<strong>to</strong>ry 12 (identifica<strong>to</strong><br />

da <strong>un</strong> nome), e non può essere istanzia<strong>to</strong> in modo in<strong>di</strong>pendente.<br />

• Ogni componente è identifica<strong>to</strong> da <strong>un</strong> ID “globale” genera<strong>to</strong> dallo stesso<br />

Fac<strong>to</strong>ry al momen<strong>to</strong> della creazione.<br />

11 Uno dei Pattern fondamentali defini<strong>to</strong> dalla gang of four caratterizza<strong>to</strong> dalla definizione<br />

<strong>di</strong> <strong>un</strong> ogget<strong>to</strong> me<strong>di</strong>ante la composizione <strong>di</strong> altri oggetti (a formare <strong>un</strong>a struttura ad<br />

albero).<br />

12 Secondo l’omonimo pattern creazionale, con Fac<strong>to</strong>ry si intende <strong>un</strong> elemen<strong>to</strong> che<br />

incap<strong>su</strong>la al <strong>su</strong>o interno i processi coinvolti nella creazione <strong>di</strong> oggetti.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!