- Apache2
- Mysql Server
- php
- html
- javascript
- css
- Καλούδης Αλέξανδρος
- Αποστολίδης Μιχαήλ
- Παυλίδης Γεώργιος
-
Κάντε clone το project σε κάποιον φάκελο
$ git clone https://https://github.com/iee-ihu-gr-course1941/ADISE22_GetBluffedHAHA
-
Βεβαιωθείτε ότι ο φάκελος είναι προσβάσιμος από τον Apache Server. πιθανόν να χρειαστεί να καθορίσετε τις παρακάτω ρυθμίσεις.
-
Θα πρέπει να δημιουργήσετε στην Mysql την βάση με όνομα 'bluff_db' και να φορτώσετε σε αυτήν την βάση τα δεδομένα από το αρχείο bluffdb.sql
-
Θα πρέπει να φτιάξετε το αρχείο lib/config_local.php το οποίο να περιέχει:
<?php
$DB_PASS = 'κωδικός';
$DB_USER = 'όνομα χρήστη';
?>
Αριθμός παικτών: 3
Στόχος του κάθε παίκτη είναι να ξεφορτωθεί όλες του τις κάρτες από το χέρι του. Ο πρώτος που θα καταφέρει να αρχίσει το γύρο του χωρίς κάρτες νικάει.
Στο γύρο του ο παίκτης επιλέγει από το χέρι του έναν αριθμό καρτών και τις παίζει στο ταμπλό ανάποδα. Ταυτόχρονα αναφέρει στους αντιπάλους ότι οι κάρτες που έπαιξε είναι όλες ίδιος αριθμός ή φιγούρα και τους λέει και ποιός είναι. Όμως δεν χρειάζεται να πει την αλήθεια, μπόρει να μπλοφάρει. Οι υπόλοιποι παίκτες είτε να πούν "Μπλόφα" ή να συνεχίσουν παίζοντας με τη σείρα και αυτοί κάρτες από το χέρι τους που είναι ιδιός αριθμός/φιγούρα (φυσικά και οι ίδιοι μπορούν να μπλοφάρουν!). Εάν περάσει μια γύρα απ'όλους τους πάικτες χώρις να παίξει κάποιος κάρτα ή να πεί μπλόφα τότε οι κάρτες από το ταμπλό πάνε στα σκάρτα και η σειρά πάει στον επόμενο παίκτη.
Εάν κάποιος πεί "Μπλόφα", τότε γυρνάνε οι κάρτες που έπαιξε ο τελευταίος παίκτης ώστε να είναι φανερά σε όλους. Άμα όντως μπλόφαρε, τότε παίρνει στο χέρι του όλες τις κάρτες από το ταμπλό. Αλλιώς, άμα οι κάρτες που έπαιξε είναι αυτό που είπε, τότε αυτός που ανακάλεσε "Μπλόφα" παίρνει τις κάρτες από το ταμπλό στο χέρι του.
Ειδικοί κανόνες: Οι δύο Τζόκερ χρησιμοποιούνται σαν μπαλαντέρ και μπορούν να είναι οποιδήποτε άλλο χαρτι της τράπουλας.
GET /card/read.php
Εμφανίζει όλες της κάρτες της τράπουλας
GET /card/read_single_carg.php?id=1
Εμφανίζει τη κάρτα με id 1
POST /gametable/add_card.php
Δίνει σε έναν παίκτη μια κάρτα, τα id των οποίων (player_id, card_id), βρίσκονται στο body του request
PUT /gametable/play_card.php
Μια κάρτα από το χέρι του παίκτη παίζεται στο ταμπλό
PUT /gametable/raise_card_from_table.php
Μια κάρτα από το ταμπλό επιστρέφεται στο χέρι ενός παίκτη
PUT /gametable/burn_card_from_table.php
Μια κάρτα απο το ταμπλό πάει στα σκάρτα
GET /gametable/get_player_hand.php?player_id=1
Επιστρέφει το χέρι του παίκτη με id 1
POST /player/add_new_player.php
Προσθέτει νέο παίκτη στον πίνακα με τους παίκτες με τα στοιχεία που υπάρχουν στο body του request
POST /player/add_new_player.php?id=1
Διαγραφή παίκτη με id 1
GET /player/read_single_player.php?id=1
Επιστρέφει τον παίκτη με id 1
POST /player/update_player.php?id=1
Ενημερώνει τον παίκτη με id 1
GET /player/read.php
Επιστρέφει όλους τους παίκτες του πίνακα players
POST /gamecondition/create_game.php
Δημιουργεί νέο παιχνίδι, προσθέτοντας νέο entry στον πίνακα game_condition
PUT/gamecondition/change_status.php
Ενημερώνει τη κατάσταση του παιχνιδιού
GET /checkbluff/get_last_played.php
Επιστρέφει τα στοιχεία του πίνακα check_bluff, ο οποίος περιέχει τις κάρτες που έπαιξε ο τελευταίος παίκτης
POST /checkbluff/set_last_played.php
Προσθέτει τις κάρτες που έπαιξε ο παίκτης στον πίνακα check_bluff, ώστε να γίνεται έλεγχος όταν κάποιος πει "Μπλόφα"
Το cards είναι ένας πίνακας, ο οποίος περιέχει όλες τις κάρτες μίας κανονικής τράπουλας 52 καρτών.
Attribute | Description | Values |
---|---|---|
colour |
Το χρώμα/σύμβολο της κάρτας | 'HEART','DIAMOND','SPADE','CLOVER' |
number |
Ο αριθμός/φιγούρα της κάρτας | 'A','2','3','4','5','6','7','8', |
'9','10','JACK','QUEEN','KING', | ||
'JOKER1','JOKER2' |
Πίνακας όπου κάθε σειρά είναι κάρτα για το κάθε χέρι των παικτών και για τις κάρτες στα σκάρτα και στο ταμπλό. Ταυτόχρονα εδώ γίνεται η σύνδεση των παικτών με το παιχνίδι στο οποίο βρίσκονται με τη χρήση ξένων κλειδιών.
Attribute | Description | Values |
---|---|---|
player_id |
Το id του παίκτη (ξένο κλειδί) | Integer |
game_condition_id |
Το id του παιχνιδιού (ξένο κλειδί) | Integer |
card_id |
Το id της κάρτας (ξένο κλειδί) η οποία | Integer |
μοιράστηκε στον παίκτη με το αντίστοιχο id | Integer | |
burned |
Εάν η κάρτα είναι στα σκάρτα | Boolean |
ontable |
Εάν η κάρτα είναι στο ταμπλό | Boolean |
O κάθε παίκτης έχει τα παρακάτω στοιχεία:
Attribute | Description | Values |
---|---|---|
name |
Όνομα παίκτη | String |
game_condition_id |
Αντιστοίχιση με τον πίνακα game_condition | Integer |
που δηλώνει σε ποιό παιχνίδι βρίσκεται |
Πίνακας με τα παιχνίδια και τη κατάσταση τους
Attribute | Description | Values |
---|---|---|
p_turn |
Ο παίκτης ο οποίος πάιζει αυτό το γύρο | Integer |
status |
Η κατάσταση του παιχνιδιού | 'STARTED','ENDED','ABORTED' |
result |
Δείχνει το αποτέλεσμα του παιχνιδιού | String |
Πίνακας που κρατάει το τελευταίο χέρι που έχει παικτεί, τα στοιχεία του οποίου ελέγχονται σε περίπτωση μπλόφας
Attribute | Description | Values |
---|---|---|
card_id |
Το id για τη κάρτα που παίχτηκε | Integer |
player_id |
Ο παίκτης που την έριξε | Integer |