background image

 

Νικόλας Ψύλλου, Σχεδίαση και Υλοποίηση διαδικτυακής πλατφόρμας για 
εξυπηρέτηση παιχνιδιών καρτών απομακρυσμένων παικτών
 

 

Πτυχιακή / Διπλωματική Εργασία 

 

111 

•  exitTable: Διώχνει όλους τους παίχτες από το ΗΤ και κλείνει το τραπέζι 
•  updateTableGameStatus: Αλλάζει την κατάσταση του ΗΤ είτε σε παύση, είτε σε 

επεξεργασία, είτε αναμονή για νέους παίχτες 

•  shuffleDeck: Ανακατεύει οποιαδήποτε τράπουλα της επιλογής του που δεν ανήκει 

σε κάποιο παίχτη  

•  storeRankRow,  updateRankRow,  deleteRankRow:  Αφορούν  την  καταγραφή, 

ενημέρωση ή την διαγραφή της βαθμολογίας για τους παίχτες 

Σε ένα παιχνίδι πραγματικού χρόνου μπορούν να προκύψουν διάφορα σενάρια 

και  το  παιχνίδι  που  είναι  σε  εξέλιξη  να  μην  καταφέρει  να  ολοκληρωθεί  επιτυχώς. 
Μερικές περιπτώσεις είναι όταν ο χρήστης αποχωρήσει με δική του βούληση από το 
παιχνίδι, είτε γιατί χάθηκε η σύνδεση είτε από απροσεξία του ίδιου. Ένα παιχνίδι με 
κάρτες είναι αδύνατον να συνεχίσει χωρίς την επιστροφή του παίχτη πίσω, καθώς ο 
παίχτης  αντιπροσωπεύει  κάποιες  κάρτες  στο  παιχνίδι  που  θα  ήταν  άδικο  απλά  να 
επιστραφούν πίσω στην τράπουλα που ανήκουν.   

Με την παραπάνω προσέγγιση, σε περίπτωση που ο χρήστης ανήκει σε κάποιο ΗΤ 

που είναι σε εξέλιξη και αποσυνδεθεί, τότε η πλατφόρμα καταγραφεί αυτό το γεγονός 
στην  βάση  δεδομένων  και  θέτει  το  παιχνίδι  σε  παύση  και  ενημερώνει  τους 
υπόλοιπους χρήστες αν ο χρήστης έφυγε με δική του θέληση ή λόγω σύνδεσης. Με 
την  είσοδο  του  αποσυνδεδεμένου  χρήστη  στην  προθάλαμο  της  πλατφόρμας,  του 
εμφανίζεται το παιχνίδι που έπαιζε ώστε να ξανασυνδεθεί και να συνεχίσει το παιχνίδι 
εφόσον ο GM αποφάσισε να περιμένει το χρήστη να επανέλθει πίσω.  

 
 

 

Εικόνα 64 - Στιγμιότυπο πριν από την επανασύνδεση του παίχτη στο παιχνίδι στην σελίδα "Προθάλαμος 

χρήστη" 

 
 

Η καταγραφή του τρόπου αποσύνδεσης επιτυγχάνεται με την χρήση της Vue.js και 

την  Nest.js.  Με  την  χρήση  της  συνάρτησης  unMoundted()  που  ανήκει  στο 
οικοσύστημα  της  Vue,  όταν  καταστραφεί  το  component  που  αφορά  το  ΗΤ,  τότε 
αποθηκεύεται  ο  χρήστης  στην  βάση  δεδομένων  ως  leaver.  Αν  ο  χρήστης  κλείσει  το