background image

5.3 Υλοποιώντας το δικτυακό παιχνίδι 

[106] 

 

 

 

5.3.1 Ο διαχειριστής δεδομένων 

 
Όπως  έχουμε  ήδη  αναφέρει,  η  κλάση  που  διαχειρίζεται  τα 

εισερχόμενα πακέτα δικτύου του αντικειμένου “GKSession” είναι τύπου 
“NSObject”. Σε αυτή την κλάση  επίσης πρέπει να προσθέσουμε όλα τα 
αντικείμενα του μοντέλου δεδομένων που αφορούν το παιχνίδι.

 

 

Αρχικά  κατασκευάζουμε  μια  μηχανή 

καταστάσεων  για  το  παιχνίδι.  Η  κάθε 
κατάσταση  του  παιχνιδιού  έχει  άμεση 
ανταπόκριση 

στο 

δικτυακό 

“View-

Controller”. 

Για  τους  παίκτες  που  συμμετέχουν  στο  παιχνίδι,  πρέπει  να 

δημιουργήσουμε  μια  ξεχωριστή  κλάση  τύπου  “NSObject”.  Την 
ονομάζουμε “Player” και δημιουργούμε τρείς ιδιότητες για κάθε παίκτη. 
Οι  τρείς  ιδιότητες  αντιπροσωπεύουν  τους  διαφορετικούς  τρόπους  που 
μπορεί να αναγνωριστεί κάθε παίκτης: 

1.

 

Από  το  όνομα.  Αυτό  είναι  που  βλέπει  κάθε  χρήστης  στον 
“GameViewController”.  Το  όνομα  είναι  αυτό  που 
πληκτρολογεί  ο  χρήστης  στις  οθόνες  του  διακομιστή  και 
πελάτη.  Αν  ο  χρήστης  δεν  γράψει  κάποιο  όνομα  εμφανίζεται 
με το όνομα που έχει δώσει στη συσκευή του. 

2.

 

Από  το  “peerID”.  Το  αναγνωριστικό  αυτό  είναι  που 
χρησιμοποιεί  το  αντικείμενο  “GKSession”  εσωτερικά.  Το 
χρειαζόμαστε  για  να  αναγνωρίζουμε  τους  παίκτες  όταν 
χρειάζεται να στέλνουμε μηνύματα μέσω του δικτύου. 

3.

 

Από  τη  θέση  τους  στην  οθόνη.  Κάθε  παίκτης  θα  βλέπει  τον 
εαυτό  του  στο  κάτω  μέρος  της  οθόνης  (Εικόνα  5.8).  Έτσι 
δημιουργούμε  μια  σειρά  με  τα  ονόματα  των  παικτών  στην 
οθόνη δεξιόστροφα.