Εργαστήριο Τεχνολογίας Λογισμικού
0 votes
1.1k views

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

Επίσης, μήπως θα ήταν προτιμότερο η μέθοδος play στην αφηρημένη κλάση Player να μπορεί να καλείται για σταθερά αντικείμενα ώστε να μπορούμε να γράψουμε κάτι του στυλ getPlayer([...])->play([...]) (αφού η μέθοδος getPlayer επιστρέφει const) ή εναλλακτικά η getPlayer να μην επιστρέφει const;

in progtech by (270 points) | 1.1k views

1 Answer

0 votes
Best answer

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

Η μέθοδος play δεν είναι const προκειμένου να μπορούν οι παίκτες να διατηρούν κάποιο είδος κατάστασης μεταξύ κινήσεων. Επίσης, η getPlayer επιστρέφει const έτσι ώστε να μπορείς να δεις τους άλλους παίκτες του παιχνιδιού αλλά να μην μπορείς να τους πειράξεις.

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

by (9.4k points)
selected by

262 questions

254 answers

274 comments

2.9k users