Skip to content

iee-ihu-gr-course1941/Lectures20-chess1

Repository files navigation

Table of Contents

Demo Page

Μπορείτε να κατεβάσετε τοπικά ή να επισκευτείτε την σελίδα: https://users.iee.ihu.gr/~asidirop/adise/Lectures-Chess5/

Εγκατάσταση

Απαιτήσεις

  • Apache2
  • Mysql Server
  • php

Οδηγίες Εγκατάστασης

  • Κάντε clone το project σε κάποιον φάκελο
    $ git clone https://github.com/iee-ihu-gr-course1941/Lectures-Chess4.git

  • Βεβαιωθείτε ότι ο φάκελος είναι προσβάσιμος από τον Apache Server. πιθανόν να χρειαστεί να καθορίσετε τις παρακάτω ρυθμίσεις.

  • Θα πρέπει να δημιουργήσετε στην Mysql την βάση με όνομα 'adise19_chess5' και να φορτώσετε σε αυτήν την βάση τα δεδομένα από το αρχείο DB/schema5.sql

  • Θα πρέπει να φτιάξετε το αρχείο lib/config_local.php το οποίο να περιέχει:

    <?php
	$DB_PASS = 'κωδικός';
	$DB_USER = 'όνομα χρήστη';
    ?>

Περιγραφή Παιχνιδιού

Το σκάκι παίζεται ως εξής: .....

Οι κανόνες είναι οι ....

Η βάση μας κρατάει τους εξής πίνακες και στοιχεία ....

Η εφαρμογή απαπτύχθηκε μέχρι το σημείο .....(αναφέρετε τι υλοποιήσατε και τι όχι)

Συντελεστές

Περιγράψτε τις αρμοδιότητες της ομάδας.

Προγραμματιστής 1: Jquery

Προγραμματιστής 2: PHP API

Προγραμματιστής 3: Σχεδιασμός mysql

....

Περιγραφή API

Methods

Board

Ανάγνωση Board

GET /board/

Επιστρέφει το Board.

Αρχικοποίηση Board

POST /board/

Αρχικοποιεί το Board, δηλαδή το παιχνίδι. Γίνονται reset τα πάντα σε σχέση με το παιχνίδι. Επιστρέφει το Board.

Piece

Ανάγνωση Θέσης/Πιονιού

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. Περιλαμβάνει το χρώμα του πιονιού και τον τύπο

Player

Ανάγνωση στοιχείων παίκτη

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 πρέπει να το χρησιμοποιεί ο παίκτης καθόλη τη διάρκεια του παιχνιδιού.

Status

Ανάγνωση κατάστασης παιχνιδιού

GET /status/

Επιστρέφει το στοιχείο Game_status.

Entities

Board


Το 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 ο χρήστης, ή δεν έχει ξεκινήσει το παιχνίδι ή αν δεν υπάρχουν κινήσεις, τότε το πεδίο δεν υπάρχει.

Players


O κάθε παίκτης έχει τα παρακάτω στοιχεία:

Attribute Description Values
username Όνομα παίκτη String
piece_color To χρώμα που παίζει ο παίκτης 'B','W'
token To κρυφό token του παίκτη. Επιστρέφεται μόνο τη στιγμή της εισόδου του παίκτη στο παιχνίδι HEX

Game_status


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

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published