Αυτό το έργο παρέχει ένα API για τη διαχείριση παιχνιδιών Qwirkle, επιτρέποντας τη δημιουργία, την εκκίνηση, την καταγραφή κινήσεων και τον τερματισμό των παιχνιδιών μέσω διαφόρων endpoints. Οι παρακάτω περιγραφές εξηγούν τη λειτουργία κάθε endpoint.
Αυτό το endpoint διαχειρίζεται ένα αίτημα GET για να ανακτήσει τον υπολειπόμενο χρόνο για ένα παιχνίδι που αναγνωρίζεται από την παράμετρο game_id
. Χρησιμοποιεί την αποθηκευμένη διαδικασία GetRemainingTime
στη βάση δεδομένων για να ανακτήσει τα δεδομένα. Αν παρέχεται το game_id
, το σενάριο εκτελεί την αποθηκευμένη διαδικασία και επιστρέφει το αποτέλεσμα σε μορφή JSON. Σε περίπτωση σφάλματος ή ελλιπούς παραμέτρου, επιστρέφεται μήνυμα σφάλματος με κωδικό HTTP 400.
Αυτό το endpoint χειρίζεται ένα αίτημα POST για τη δημιουργία ενός παιχνιδιού μεταξύ δύο παικτών, αναγνωρισμένων από τις παραμέτρους player1_id
και player2_id
. Αν και οι δύο παράμετροι παρέχονται, καλείται η αποθηκευμένη διαδικασία CreateGame
και επιστρέφεται μήνυμα επιτυχίας σε μορφή JSON. Σε περίπτωση έλλειψης παραμέτρων ή σφάλματος, επιστρέφεται μήνυμα σφάλματος με κωδικό HTTP 400.
Αυτό το endpoint δημιουργεί μια σύνδεση με μια βάση δεδομένων MySQL χρησιμοποιώντας PDO. Ρυθμίζει τις παραμέτρους για τον κεντρικό υπολογιστή (localhost), το όνομα της βάσης δεδομένων (qwirkle_game), τον χρήστη (root) και τον κωδικό πρόσβασης (κενό). Σε περίπτωση αποτυχίας της σύνδεσης, επιστρέφει μήνυμα σφάλματος και σταματά την εκτέλεση του προγράμματος.
Αυτό το endpoint χειρίζεται ένα αίτημα POST για τον τερματισμό ενός παιχνιδιού προσδιοριζόμενο από την παράμετρο game_id
. Αν δοθεί το game_id
, καλείται η αποθηκευμένη διαδικασία EndGame
και επιστρέφεται μήνυμα επιτυχίας σε μορφή JSON. Σε περίπτωση σφάλματος ή έλλειψης παραμέτρου, επιστρέφεται μήνυμα σφάλματος με κωδικό HTTP 400.
Αυτό το endpoint χειρίζεται ένα αίτημα POST για την καταγραφή μιας κίνησης σε ένα παιχνίδι. Λαμβάνει τις παραμέτρους game_id
, player_id
, tile_id
, position_x
, position_y
και καλεί την αποθηκευμένη διαδικασία MakeMove
. Επιστρέφεται μήνυμα επιτυχίας σε μορφή JSON. Εάν λείπει κάποια παράμετρος ή παρουσιαστεί σφάλμα, επιστρέφεται μήνυμα σφάλματος με κωδικό HTTP 400.
Αυτό το endpoint χειρίζεται ένα αίτημα POST για την εγγραφή ενός νέου χρήστη. Λαμβάνει τις παραμέτρους username
και password
και καλεί την αποθηκευμένη διαδικασία RegisterUser
. Επιστρέφει μήνυμα επιτυχίας σε μορφή JSON. Σε περίπτωση έλλειψης παραμέτρων ή σφάλματος, επιστρέφεται μήνυμα σφάλματος με κωδικό HTTP 400.
Αυτό το endpoint χειρίζεται ένα αίτημα POST για την εκκίνηση ενός παιχνιδιού. Λαμβάνει τις παραμέτρους created_by
(δημιουργός του παιχνιδιού) και player_ids
(ταυτότητες παικτών) και καλεί την αποθηκευμένη διαδικασία StartGame
. Επιστρέφεται μήνυμα επιτυχίας σε μορφή JSON. Αν λείπουν οι παράμετροι ή παρουσιαστεί σφάλμα, επιστρέφεται μήνυμα σφάλματος με κωδικό HTTP 400.
Το Qwirkle είναι ένα παιχνίδι στρατηγικής, κατά το οποίο οι παίκτες χρησιμοποιούν πλακίδια με διαφορετικά χρώματα και σχήματα και προσπαθούν να σχηματίσουν γραμμές με κοινά χαρακτηριστικά, είτε στο χρώμα είτε στο σχήμα. Η στρατηγική απαιτεί να προβλέψεις τις κινήσεις των αντιπάλων και να εκμεταλλευτείς τις δυνατότητες του γηπέδου. Το παιχνίδι συνδυάζει απλότητα και βάθος, κάνοντάς το ιδανικό για όλες τις ηλικίες.