background image

5.6 Η κατάσταση “Waiting for Ready” 

[114] 

 

 

Τη στιγμή που οι πελάτες είναι έτοιμοι να ξεκινήσουν πραγματικά το 

παιχνίδι  περνάνε  στην  κατάσταση  “Playing”,  όμως  ο  διακομιστής  είναι 
αυτός  που  θα  ξεκινήσει  το  παιχνίδι.  Όπως  φαίνεται  στον  παραπάνω 
κώδικα  καλούμε  δύο  νέες  μεθόδους  τύπου  (Void),  αυτή  που  ξεκινά  το 
παιχνίδι (beginGame) και την (changeRelativePositionOfPlayers). Με τη 
μέθοδο  “beginGame”  ξεκινάμε  και  αποστέλλουμε  στους  πελάτες  την 
πρώτη ερώτηση και ξεκινά το παιχνίδι. Παρακάτω θα επισημάνουμε  τον 
κώδικα  για  την  αλλαγή  της  θέσης  του  κάθε  παίκτη  στην  οθόνη.  Η 
συνθήκη αυτή περιστρέφει δεξιόστροφα τους παίκτες στην οθόνη, ώστε ο 
τοπικός χρήστης να βλέπει το όνομα του στο κάτω μέρος της οθόνης. Για 
να το πετύχουμε αυτό χρησιμοποιούμε το “peerID” του κάθε παίκτη και 
όχι τη θέση ή το όνομα για να τον αναγνωρίσουμε. 

 

Τέλος όταν ο διακομιστής λάβει απάντηση από όλους τους πελάτες 

ότι  είναι  έτοιμοι,  καλεί  τη  μέθοδο  (beginGame)  για  να  ξεκινήσει  το 
παιχνίδι από την πλευρά του διακομιστή. Δημιουργούμε λοιπόν μια νέα 
κατάσταση στη μέθοδο serverReceivedPacket:fromPlayer όπως φαίνεται 
παρακάτω: