Κλώνος του γνωστού παιχνιδιού 2048 σε pyqt5

Πριν κανένα χρόνο είχα παρακολουθήσει ένα tutorial για το παιχνίδι σε godot. Το tutorial δεν ήταν ολοκληρωμένο, αλλά κατάφερα να το προχωρήσω ώστε να είναι λειτουργικό. Τον τελευταίο καιρό είπα να δοκιμάσω να την υλοποίησή του σε pyqt5 που τη γνωρίζω λίγο καλύτερα, μιας και ασχολούμαι περιστασιακά με το άθλημα και για να περάσει η ώρα).
Ευτυχώς αυτή τη φορά βρήκα μια πιο ολοκληρωμένη υλοποίηση της λογικής του παιχνιδιού την οποία χρησιμοποιήσα σα βάση κι έτσι το αποτέλεσμα ήταν πιο ολοκληρωμένο και ικανοποιητικό από την godot εκδοχή.
Ιδού λοιπόν το πακέτο:


Το οποίο είναι σχετικά μεγάλο μιας και συμπεριλαμβάνει τις βιβλιοθήκες που χρειάζεται το παιχνίδι, αλλά έτσι έχει μεγαλύτερες πιθανότητες να τρέξει χωρίς προβλήματα και επιμέρους εγκαταστάσεις.
Αποσυμπιέζετε το πακέτο και τρέχετε το εκτελέσιμο “pyqt2048” που βρίσκεται στο φάκελο που περιέχεται στο αρχείο tar.xz.

Το παιχνίδι χωρίς ενσωμάτωση των απαιτούμενων βιβλιοθηκών:


Χρειάζεται να είναι εγκατεστημένη η pyqt5 και το pygame.

Βίντεο:

6 Likes

Καλές γιορτές και ευχαριστούμε για το Χριστουγεννιάτικο δώρο.

Αλλά, υπάρχει ένα άλλα. Ξέρω πως κατά 99.999\% σε αδικώ με αυτά που λέω, αλλά ποιος κατεβάζει και τρέχει κάποιο πρόγραμμα από ένα τυχαίο φόρουμ, από ένα τυχαίο χρήστη στις πονηρές μέρες μας;

Αν θέλεις να το εκμεταλλευτείς επαγγελματικά και να προστατεύσεις την πνευματική σου ιδιοκτησία, τότε δικαίαωμα και πάσο. Διαφορετικά που είναι ο πηγαίος κώδικας να δούμε τι κάνει, η να το προσθέσουμε στις διανομές μας; Είναι κρίμα να έχεις κάνει τόση δουλεία και να μην μπορεί να το χαρεί ο κόσμος για πάντα. Αν βάλεις των κώδικά σε κάποιο δημόσιο αποθετήριο κώδικα και θα μπορούμε να το προσαρμόσουμε στις εκδόσεις της QT που έχουμε στον υπολογιστή μας, και θα μπορέσουμε να διορθώσουμε μικρά λαθάκια, και θα μείνει εκεί “για πάντα” ενώ σε υπηρεσίες όπως αυτή που το ανέβασες δεν είναι καθόλου σίγουρο.

Επιπλέον με την η όλη διαδικασία να ανεβάσεις και να χειριστείς τον κώδικα εκεί, πιθανά να κάνεις και compiling εκεί, να επιλέξεις άδεια κλπ θα μάθεις πολλά καινούργια πράγματα.

Καλές γιορτές και κανονικό 2021

3 Likes

Το έκανα έτσι για πιο εύκολη χρήση, όχι για να κρύψω κάτι. Χρησιμοποίησα αυτόν τον τρόπο γιατί αυτόν γνωρίζω. Η αρχική μου σκέψη ήταν ν’ ανεβάσω τον πηγαίο κώδικα, όπως είχα κάνει και πριν λίγο καιρό για μια εφαρμογή χρήσης του dd για κάψιμο εικόνας iso που μου ζητήθηκε. Ο λόγος που το έκανα έτσι(και έφαγα αρκετή ώρα μέχρι να το πετύχω) ήταν για να το κάνω πιο εύκολο.
Άλλωστε είχα σκοπό ν’ ανεβάσω και τον πηγαίο κώδικα, αλλά προσπαθώ να βρω ένα τρόπο να προσθέσω την αποθήκευση του παιχνιδιού κατά την έξοδο, ώστε να είναι δυνατή η συνέχιση του κάποια άλλη στιγμή. Θα ανέβει κι έτσι σε λίγο λοιπόν με τις κάποιες μικρές διορθώσεις που έχει ως τώρα.

3 Likes

compiling στην Python σύντροφε; Τι είμεθα;

Χρόνια πολλά @dancaer69 και ευχαριστούμε για το παιχνίδι. Αν θα σε ενδιέφερε, καλύτερο θα ήταν να ανεβάσεις το παιχνίδι σε κάποιο git αποθετήριο για να συνεισφέρει όποιος θέλει εύκολα.

Χρόνια πολλά!
Με πρόλαβες, μόλις τώρα θα έγραφα ότι ανέβηκε και στο github.
Εδώ είναι λοιπόν ο σύνδεσμος για την νεότερη έκδοση όπου έχω προσθέσει τη δυνατότητα αποθήκευσης του τρέχοντος παιχνιδιού κατά την έξοδο:

3 Likes

thanks for sharing ^_^ είναι πολύ χαριτωμένο, πως βρίσκεις την διαδικασία δημιουργίας μέσω godot? σου φαίνεται κατανοητό το πρόγραμμα για αρχάριους?

1 Like

Η εμπειρία μου με την godot είναι πολύ μικρή. Ουσιαστικά το tutorial που αναφέρω ακολούθησα(και 2 εισαγωγικά πριν απ’ αυτό). Δεν έχω χρησιμοποιήσει και καμιά άλλη ώστε να έχω μέτρο σύγκρισης. Πάντως μάλλον η GDevelop είναι πιο κατάλληλη για κάποιον αρχάριο απ’ όσα έχω διαβάσει σχετικά.

1 Like

Επανέρχομαι σχετικά με τη godot μιας και ασχολήθηκα αρκετά τις τελευταίες εβδομάδες. Αφού δοκίμασα για λίγο την defold, κατέληξα ξανά στην godot, αφενός για το λόγο της gdscript που μοιάζει πολύ με την python και αφ εταίρου λόγω του ότι έχει περισσότερες πηγές για να τη μάθεις και αρκετά μεγάλη κοινότητα. Βέβαια περιλαμβάνει πολλά επιμέρους στοιχεία(animations, color shades, lighting effects και άλλα που πιθανότατα δε γνωρίζω ακόμη) και χρειάζεται αρκετός χρόνος για την εκμάθησή της. Ένα καλό που έχει επίσης(δεν το έχω δοκιμάσει όμως) είναι ότι υποστηρίζει και visual scripting που πρέπει να είναι αντίστοιχο της GDevelop, οπότε δε χρειάζεται απαραίτητα η γνώση κάποιας γλώσσας προγραμματισμού.
Μετά από αρκετό ψάξιμο, και tutorials με καθοριστικό αυτό από το kidscancode, για τη δημιουργία ενός ολοκληρωμένου mobile παιχνιδιού, κατάφερα να ολοκληρώσω(σχετικό αυτό) μια τροποποιημένη έκδοση ενός παιχνιδιού λέξεων με προσανατολισμό το android.
Ιδού λοιπόν ένα βίντεο με το αποτέλεσμα:

6 Likes