freestuff.gr αρχική σελίδα
 FAQFAQ    ΑναζήτησηΑναζήτηση   Λίστα ΜελώνΛίστα Μελών   Ομάδες ΜελώνΟμάδες Μελών   <b>Εγγραφή Μέλους</b>Εγγραφή Μέλους 
 ΠροφίλΠροφίλ   Επιλογές μέλους Επιλογές   Τα bookmarks μου Τα bookmarks μου   Προσωπικά μηνύματαΠροσωπικά μηνύματα 
  διαφήμιση  

Καλώς ήρθατε στο forum μας! Για να συμμετάσχετε στις συζητήσεις θα πρέπει να είσαστε μέλος. Γίνετε μέλος τώρα!.

ενα παιχνίδι τέτρις με γραφικό περιβάλλον από μένα...


 Forum index » Δημιουργία Web Sites, Γραφικών & Προγραμματισμός » Γλώσσες Προγραμματισμού » C, C++
Moderators:  Super-Moderators, WebDev Moderators
Εισαγωγή νέου Θέματος   Απάντηση στο Θέμα Σελίδα 1 από 1 [4 Μηνύματα]      Bookmarks Tags: παιχνίδιγραφικόΠεριβάλλον Mark the topic unread :: Προηγούμενο θέμα :: Επόμενο θέμα
ΑποστολέαςΜήνυμα
soteres2002
S. & H. Moderator

Μέλος από: 05 Μαρ 2004
Βοηθήματα: 1
Νέα: 1
Scripts: 1
Μηνύματα: 256+

Περιοχή: Ιωάννινα
View users profile
ΜήνυμαΣτις: 05 Αυγ 2010 14:29    Θέμα: ενα παιχνίδι τέτρις με γραφικό περιβάλλον από μένα... Απάντηση με παράθεση  Mark this post and the followings unread

Μιας που γύρισα πίσω στο γραφείο στα Γιάννενα είπα να κάνω ένα ξεκαθάρισμα στο PC, και εντελώς κατά τύχη βρήκα ένα παιχνιδάκι Τέτρις που έγραψα εγώ και ένας φίλος για μια εργασία στο μάθημα των Γραφικών Υπολογιστών εδώ στο Πανεπιστήμιο. Attached ο κώδικας. Παίζει μόνο σε Λίνουξ, αλλά υπάρχει και η περίπτωση να παίξει και σε Windows link to Windows αν υπάρχει port της Xlib. (Εγώ πάντως που το είχα ψάξει γιατί με ενδιέφερε, δεν βρήκα τίποτα για Cygwin/Mingw). Για τους υπόλοιπους Λινουξάδες... βάλτε το πακέτο xlib-dev από τον package manager σας, γιατί το παιχνίδι χρησιμοποιεί το X για να κάνει rendering τα γραφικά.

Για να το τρέξουμε κάνουμε τα εξής:
1) κατεβάζουμε το συμπιεσμένο αρχείο με τα sources
2) ανοίγουμε κονσόλα (αν δεν έχουμε ανοίξει ήδη)
3) $ cd /path/to/compressed/parent/folder
3) $ tar xvzf xtris.tar.gz (αποσυμπίεση)
4) $ cd xtris (αλλάζουμε directory)
5) $ make (compile sources, δεδομένου ότι τα Xlib dev files είναι ηδη εγκατεστημένα στο σύστημά μας)

αν θέλουμε να το βάλουμε και στο σύστημά μας, δίνουμε την εξης εντολή:
κώδικας:

$ sudo cp game /usr/bin

(αν θέλετε να βάλετε και δικαιώματα στο binary, αυτό είναι άλλη ιστορία)

...και τέλος η απόλαυση του επιστημονικού οίστρου...
6) $ ./game

Τα υπόλοιπα είναι θέμα GUI. Καλή διασκέδαση...

Κι ένα screenshot also included, για όσους δεν έχουν Λίνουξ και θέλουν να δουν το απλώς το παιχνίδι...

Σημείωση: το παιχνίδι είναι ελαφρώς παραλαγμένο από το γνωστό Τέτρις, από την άποψη ότι έχουν φτιαχθεί μερικά τριόμινα που δεν υπάρχουν στο κλασικο τέτρις... Παρ' όλα αυτά, όμως, η φιλοσοφία και η λειτουργία είναι κατα τα άλλα η ίδια....

Μερικά hints: έχουμε φτιάξει και ένα grid για να μπορεί ο παίκτης να βλέπει πως κινείται το τριόμινο πάνω στο πλέγμα. Αν δεν το θέλει κανείς αυτό, πατάμε απλώς BACKSPACE και το πλέγμα εμφανιζεται/εξαφανίζεται... Επίσης, το παιχνίδι έχει και λειτουργίες φιλικές σε παίκτες με ...συχνοουρίες... Συγκεκριμένα, αν θέλετε να πάτε τουαλέτα εν μέσω του παιχνιδιού, υπάρχει ειδική επιλογή για να κάνει Pause το παιχνίδι... Επιπλέον επιλογές θα βρείτε πάνω στο board του παιχνιδιού στην πάνω αριστερή γωνία.

Future work: αν βρω καποια στιγμή χρόνο, όπως τον παλιο καλό καιρό με τις hackιές, σκέφτομαι να σχεδιάσω και να υλοποιήσω ένα μίνι πρωτόκολλο έτσι ώστε πολλαπλά instances του παιχνιδιού να μπορούν να κάνουν join σε ανταγωνιστικά παιχνίδια 2 ή περισσότερων χρηστών μέσω TCP/IP, είτε σε LAN είτε πάνω από το Ίντερνετ...

Last edited by soteres2002 on 21 Αυγ 2016 19:37, edited 1 time in total
papi1


Μέλος από: 01 Φεβ 2009
Μηνύματα: 8

View users profile
ΜήνυμαΣτις: 05 Αυγ 2010 17:33    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

Wow, πολυ καλη δομη.
soteres2002
S. & H. Moderator

Μέλος από: 05 Μαρ 2004
Βοηθήματα: 1
Νέα: 1
Scripts: 1
Μηνύματα: 256+

Περιοχή: Ιωάννινα
View users profile
ΜήνυμαΣτις: 05 Αυγ 2010 18:18    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

papi1 ανέφερε:
Wow, πολυ καλη δομη.


Ποιανού πράγματος I have a question...
soteres2002
S. & H. Moderator

Μέλος από: 05 Μαρ 2004
Βοηθήματα: 1
Νέα: 1
Scripts: 1
Μηνύματα: 256+

Περιοχή: Ιωάννινα
View users profile
ΜήνυμαΣτις: 05 Αυγ 2010 20:29    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

Λοιπόν, μόλις τελείωσα την εγκατάσταση του Cygwin και κατάφερα να κάνω compile σε Windows link to Windows χωρίς καμία απολύτως τροποίηση στον κώδικα του game. Κάνω attach το .exe για win32. Λογικά θα παίξει και σε κάθε 64μπιτο ΡC χωρίς πρόβλημα μαζί με τα DLLs που βάζω στο archive...

Για να παίξει σε Windows, και δεδομένου ότι έχουμε εγκαταστήσει πάνω X-server (βλέπε Xming πιο πάνω, αν δεν το έχετε), πρέπει αρχικά να ξέρετε το hostname του PC. Εμένα πχ το δικό μου είναι το scylla.

Για να ξεκινήσω το game δίνω:

κώδικας:

$ ./game scylla:0


όπου 0 είναι το screen number του X server.

Σημείωση: για να παίξει το .εχε πρέπει να έχετε κάνει εγκατάσταση το Cygwin. Μπορείτε να βάλετε μία minimal έκδοσή του που θα έχει υποστήριξη μόνο για το X11, αυτό περιλαμβάνει ΚΑΙ τον X-server. Επίσης, όλα τα DLLs κάτω από το φάκελο /bin του installation directory πρέπει αν γραφτούν και στο C:\windows για να είναι visible από το παιχνίδι...

Για όσους δεν έχουν πολύ χώρο στο δίσκο, μπορούν εναλλακτικά να κάνουν copy στο φάκελο WINDOWS, μόνο τα DLLs με όνομα:

GYGWIN_S-1.DLL
CYGWIN1.DLL
CYGX11-6.DLL

(έκανα ένα trace με ένα free Windows DLL dependency tracing tool και αυτά είναι τα μόνα DLL με τα οποία έχει εξάρτηση το .exe που επισυνάπτω σε αυτό το reply).
Εμφάνιση Μηνυμάτων:   
Εισαγωγή νέου Θέματος   Απάντηση στο Θέμα Σελίδα 1 από 1 [4 Μηνύματα] Mark the topic unread :: Προηγούμενο θέμα :: Επόμενο θέμα
 Forum index » Δημιουργία Web Sites, Γραφικών & Προγραμματισμός » Γλώσσες Προγραμματισμού » C, C++
Τώρα είναι 10 Δεκ 2016 14:44 | All times are UTC + 2


Email This Page to Someone! add to Favorites

     Powered by p h p B B © 2001,2005 p h p B B Group
Για άμεση επικοινωνία με τον διαχειριστή του freestuff.gr στο email: freestuff.gr(παπάκι)gmail.com


Copyright © 1999-2013 Freestuff.gr All Rights Reserved  
Version Aegean, designed by N. Tsaganos