Μπορείτε να κατεβάσετε τοπικά ή να επισκευτείτε την σελίδα: https://users.iee.ihu.gr/~asidirop/adise21/Lectures21-chess/
- Apache2
- Mysql Server
- php
-
Κάντε clone το project σε κάποιον φάκελο
$ git clone https://github.com/iee-ihu-gr-course1941/Lectures21-chess.git
-
Βεβαιωθείτε ότι ο φάκελος είναι προσβάσιμος από τον Apache Server. πιθανόν να χρειαστεί να καθορίσετε τις παρακάτω ρυθμίσεις.
-
Θα πρέπει να δημιουργήσετε στην Mysql την βάση με όνομα 'adise21' και να φορτώσετε σε αυτήν την βάση τα δεδομένα από το αρχείο schema.sql
-
Θα πρέπει να φτιάξετε το αρχείο lib/config_local.php το οποίο να περιέχει:
<?php
$DB_PASS = 'κωδικός';
$DB_USER = 'όνομα χρήστη';
?>
Το σκάκι παίζεται ως εξής: .....
Οι κανόνες είναι οι ....
Η βάση μας κρατάει τους εξής πίνακες και στοιχεία ....
Η εφαρμογή απαπτύχθηκε μέχρι το σημείο .....(αναφέρετε τι υλοποιήσατε και τι όχι)
Περιγράψτε τις αρμοδιότητες της ομάδας.
Προγραμματιστής 1: Jquery
Προγραμματιστής 2: PHP API
Προγραμματιστής 3: Σχεδιασμός mysql
....
GET /board/
Επιστρέφει το Board.
POST /board/
Αρχικοποιεί το Board, δηλαδή το παιχνίδι. Γίνονται reset τα πάντα σε σχέση με το παιχνίδι. Επιστρέφει το Board.
GET /board/piece/:x/:y/
Κάνει την κίνηση του πιονιού από την θέση x,y στην νέα θέση. Προφανώς ελέγχεται η κίνηση αν είναι νόμιμη καθώς και αν είναι η σειρά του παίκτη να παίξει με βάση το token. Επιστρέφει τα στοιχεία από το Board με συντεταγμένες x,y. Περιλαμβάνει το χρώμα του πιονιού και τον τύπο.
PUT /board/piece/:x/:y/
Json Data:
Field | Description | Required |
---|---|---|
x |
Η νέα θέση x | yes |
y |
Η νέα θέση y | yes |
Επιστρέφει τα στοιχεία από το Board με συντεταγμένες x,y. Περιλαμβάνει το χρώμα του πιονιού και τον τύπο
GET /players/:p
Επιστρέφει τα στοιχεία του παίκτη p ή όλων των παικτών αν παραληφθεί. Το p μπορεί να είναι 'B' ή 'W'.
PUT /players/:p
Json Data:
Field | Description | Required |
---|---|---|
username |
Το username για τον παίκτη p. | yes |
color |
To χρώμα που επέλεξε ο παίκτης p. | yes |
Επιστρέφει τα στοιχεία του παίκτη p και ένα token. Το token πρέπει να το χρησιμοποιεί ο παίκτης καθόλη τη διάρκεια του παιχνιδιού.
GET /status/
Επιστρέφει το στοιχείο Game_status.
Το board είναι ένας πίνακας, ο οποίος στο κάθε στοιχείο έχει τα παρακάτω:
Attribute | Description | Values |
---|---|---|
x |
H συντεταγμένη x του τετραγώνου | 1..8 |
y |
H συντεταγμένη y του τετραγώνου | 1..8 |
b_color |
To χρώμα του τετραγώνου | 'B','W' |
piece_color |
To χρώμα του πιονιού | 'B','W', null |
piece |
To Πιόνι που υπάρχει στο τετράγωνο | 'K','Q','R','B','N','P', null |
moves |
Πίνακας με τα δυνατά τετράγωνα (x,y) που μπορεί να μετακινηθεί το τρέχον πιόνι. Αν δεν υπάρχει πιόνι, ή δεν έχει κάνει login ο χρήστης, ή δεν έχει ξεκινήσει το παιχνίδι ή αν δεν υπάρχουν κινήσεις, τότε το πεδίο δεν υπάρχει. |
O κάθε παίκτης έχει τα παρακάτω στοιχεία:
Attribute | Description | Values |
---|---|---|
username |
Όνομα παίκτη | String |
piece_color |
To χρώμα που παίζει ο παίκτης | 'B','W' |
token |
To κρυφό token του παίκτη. Επιστρέφεται μόνο τη στιγμή της εισόδου του παίκτη στο παιχνίδι | HEX |
H κατάσταση παιχνιδιού έχει τα παρακάτω στοιχεία:
Attribute | Description | Values |
---|---|---|
status |
Κατάσταση | 'not active', 'initialized', 'started', 'ended', 'aborded' |
p_turn |
To χρώμα του παίκτη που παίζει | 'B','W',null |
result |
To χρώμα του παίκτη που κέρδισε | 'B','W',null |
last_change |
Τελευταία αλλαγή/ενέργεια στην κατάσταση του παιχνιδιού | timestamp |