Τα πάντα για την C

...του ubuntu και έργων ΕΛ/ΛΑΚ (Έργα-Οδηγοί-Προτάσεις)

Συντονιστής: konnn

Re: Τα πάντα για την C

Δημοσίευσηαπό Ilias95 » 20 Απρ 2012, 15:27

Όχι, το παλεύω.
Ότι έφτιαξα ως τώρα είναι εδώ: https://github.com/Ilias95/Hunt

Στο τοπικό αποθετήριο έχω προσθέσει περισσότερα που δεν τα έχω ανεβάσει ακόμα στο github.

ΥΓ. Αποφάσισα να το κάνω τελείως text adventure.
Όπως βλέπεις η εσωτερική γραμμή εντολών δουλεύει σύμφωνα με το πρότυπο που έδωσες. :)
Ilias95
saintTUX
saintTUX
 
Δημοσιεύσεις: 1548
Εγγραφή: 29 Απρ 2011, 23:26
Εκτύπωση

Re: Τα πάντα για την C

Δημοσίευσηαπό stamatiou » 20 Απρ 2012, 16:25

Off topic:
Καλύτερο είναι να κάνουμε όλες τις ασκήσεις και τα projects ή μόνο αυτά που δεν είμαστε σίγουροι;
1Γνώσεις→Linux: Αρχάριος┃Προγραμματισμός:Αρχάριος┃Αγγλικά:Μέτριος
2Λειτουργικό→Arch Linxu 32bit
3Προδιαγραφές→2x AMD AthlonX2 DualCore QL-66 ‖ RAM 1751 MiB ‖ Hewlett-Packard 308C - Hewlett-Packard Compaq 615
4Κάρτες γραφικών:ATI RS780M/RS780MN [Radeon HD 3200 Graphics][1002:9612]
5Δίκτυα:eth0:Marvell 88E8042 PCI-E Fast Ethernet Controller [11ab:4357] (rev 10)⋮eth1: Broadcom BCM4312 802.11b/g LP-PHY [14e4:4315](rev 01)
Πρωσοπική Ιστοσελίδα: http://giwrg98.co.cc
Άβαταρ μέλους
stamatiou
daemonTUX
daemonTUX
 
Δημοσιεύσεις: 947
Εγγραφή: 25 Ιουν 2010, 20:23
Εκτύπωση

Re: Τα πάντα για την C

Δημοσίευσηαπό migf1 » 20 Απρ 2012, 16:45

Πάω να το κατεβάσω να το δω, Ηλία!!!!!!!

Ασχολούμαι κι εγώ στο μεταξύ. "Pαιχνιδικά" δεν έχω προσθέσει τίποτα συγκριτικά με εκείνο που έχω ποστάρει, αλλά το έχω αναδομήσει πλήρως ώστε να είναι ευέλικτο σε προσθήκες. Του έχω βάλει και υποστήριξη γλωσσών (στα πρότυπα του HexViewer) κι έχω προσθέσει Ελληνικά και Greeklish έκδοση... Greeklish μόνο για την είσοδο, γιατί η κονσόλα των Windows έχει πρόβλημα στην είσοδο μη-Αγγλικών χαρακτήρων. Για τις υπόλοιπες πλατφόρμες όλα φουλ Ελληνικά.

Spoiler: show
Εικόνα
Εικόνα
Εικόνα
Εικόνα

Στο τέλος θα βγάλουμε 2 games :)

ΥΓ. Μέχρι να μάθεις Γιώργο είναι καλό να λύσεις όλες τις ασκήσεις ή έστω το 80%-90%.
Go under the hood with C: Pointers, Strings, Linked Lists
Άβαταρ μέλους
migf1
powerTUX
powerTUX
 
Δημοσιεύσεις: 2082
Εγγραφή: 03 Ιουν 2011, 16:32
Εκτύπωση

Re: Τα πάντα για την C

Δημοσίευσηαπό Ilias95 » 20 Απρ 2012, 16:54

Στο δικό μου ακόμα δεν έχω γράψει καμία είδους βοήθεια, οπότε μπορείς να δοκιμάσεις τις εντολές:

- shoot <id>, όπου id δίνεις το id του ζώου
- look, σου δείχνει όλα τα ζώα και τα χαρακτηριστικά τους
- help animals ή help weapons σου δείχνει πίνακα με όλα τα ζώα ή όπλα αντίστοιχα
- buy

Η buy είναι πιο περίπλοκη. Μερικά παραδείγματα: buy bullets 10, buy drugs 4, buy weapon handgun
Δηλαδή αν θέλεις να αγοράσεις bullets ή drugs πρέπει να δώσεις τον αριθμό που θέλεις να αγοράσεις, ενώ αν πας να αγοράσει weapon πρέπει να διευκρινήσεις ποιο weapon θέλεις.


Μόλις το ολοκληρώσω θα διαβάσω και τον κώδικα του δικού σου.

ΥΓ. Κλαίω με τις περιγραφές τοπίου που έχεις βάλει... :lol: :lol: :lol:

Edit: Επίσης με την status βλέπεις τα δικά σου χαρακτηριστικά.
Ilias95
saintTUX
saintTUX
 
Δημοσιεύσεις: 1548
Εγγραφή: 29 Απρ 2011, 23:26
Εκτύπωση

Re: Τα πάντα για την C

Δημοσίευσηαπό migf1 » 20 Απρ 2012, 18:09

Έχεις ρίξει τρελή δουλειά Ηλία,πολλά μπράβο ρε φίλε!!!

Όλα δείχνουν να λειτουργούν "as expected" μέχρι στιγμής. Ελπίζω να μη μου χει ξεφύγει κάτι, έκανα πολλές δοκιμές... για αυτό άργησα να απαντήσω (το άτιμο το λιοντάρι δεν σκοτωνόταν με τίποτα, στο τέλος ξέμεινα από σφαίρες και αυτό ήταν ακόμα ζωντανό :lol:).
Go under the hood with C: Pointers, Strings, Linked Lists
Άβαταρ μέλους
migf1
powerTUX
powerTUX
 
Δημοσιεύσεις: 2082
Εγγραφή: 03 Ιουν 2011, 16:32
Εκτύπωση

Re: Τα πάντα για την C

Δημοσίευσηαπό Ilias95 » 20 Απρ 2012, 18:32

migf1 έγραψε:Όλα δείχνουν να λειτουργούν "as expected" μέχρι στιγμής. Ελπίζω να μη μου χει ξεφύγει κάτι, έκανα πολλές δοκιμές...

Ναι έδωσα πολύ προσοχή στο να μην μου ξεφύγει τίποτα, ειδικά στα σημεία που παίρνω είσοδο απ' τον χρήστη (όπως στην buy() πχ) για να μην ψάχνομαι μετά με περίεργα bugs.
Αν βρεις κάτι πες μου.

Σκέφτηκα να προσθέσω και speed στα ζώα το οποίο θα επηρεάζει την απόσταση που θα μπορούν να διανύσουν σε κάθε γύρο.
Τώρα είμαι στο σημείο όπου το κάθε ζώο θα επιλέγει την κίνηση του ανάλογα με την διάθεση του και την τύχη.


migf1 έγραψε:(το άτιμο το λιοντάρι δεν σκοτωνόταν με τίποτα, στο τέλος ξέμεινα από σφαίρες και αυτό ήταν ακόμα ζωντανό :lol:)

Ε μα που πας με την σφεντόνα; :lol:
Ilias95
saintTUX
saintTUX
 
Δημοσιεύσεις: 1548
Εγγραφή: 29 Απρ 2011, 23:26
Εκτύπωση

Re: Τα πάντα για την C

Δημοσίευσηαπό migf1 » 20 Απρ 2012, 19:19

Ilias95 έγραψε:
..
Αν βρεις κάτι πες μου.

Will do :)

έγραψε:Ε μα που πας με την σφεντόνα; :lol:

Έλα ντε... σημάδευα ανάμεσα στα μάτια, αλλά όλο στα πόδια το χτύπαγα :lol: :lol:

έγραψε:ΥΓ. Κλαίω με τις περιγραφές τοπίου που έχεις βάλει... :lol: :lol: :lol:

Τώρα το είδα αυτό. Πολύ γέλιο ναι :lol:

Πλάκα-πλάκα μεγάλο μανίκι οι 2 γλώσσες! Και ακόμα δεν έχω μεταφράσει τα κείμενα του λεξικού για το κάθε ζώο (και δεν ξέρω πότε θα το κάνω κιόλας, τα υπόλοιπα τα έχω μεταφράσει).

Άντε, δες κι άλλη μια περιγραφή... :p

Spoiler: show
Εικόνα


ΥΓ. Στα 7 δουλεύουν τα ελληνικά στην κονσόλα, στα XP όχι.
Go under the hood with C: Pointers, Strings, Linked Lists
Άβαταρ μέλους
migf1
powerTUX
powerTUX
 
Δημοσιεύσεις: 2082
Εγγραφή: 03 Ιουν 2011, 16:32
Εκτύπωση

Re: Τα πάντα για την C

Δημοσίευσηαπό Ilias95 » 20 Απρ 2012, 19:41

migf1 έγραψε:Πλάκα-πλάκα μεγάλο μανίκι οι 2 γλώσσες! Και ακόμα δεν έχω μεταφράσει τα κείμενα του λεξικού για το κάθε ζώο (και δεν ξέρω πότε θα το κάνω κιόλας, τα υπόλοιπα τα έχω μεταφράσει).

Πάντως αυτό με τα greeklish στη γραμμή εντολών, είναι κάπως. :/ Δεν γίνεται να παρακαμφθεί με κάποιο τρόπο αυτό το πρόβλημα;
Έχω την εντύπωση (δεν είμαι σίγουρος όμως) ότι ο interpreter της python διάβαζε κανονικά τα ελληνικά από command line των Windows.
Άκυρο: viewtopic.php?f=6&t=20281#p210473

Κάτι άλλο.
Η "system("clear");" αναγνωρίζεται στα Windows; (Έχω την εντύπωση ότι είναι cls η εντολή εκεί.)
Και ποιος είναι ο πιο εύκολος τρόπος να καταλάβουμε σε τι λειτουργικό τρέχει το πρόγραμμα μας;
Ilias95
saintTUX
saintTUX
 
Δημοσιεύσεις: 1548
Εγγραφή: 29 Απρ 2011, 23:26
Εκτύπωση

Re: Τα πάντα για την C

Δημοσίευσηαπό migf1 » 20 Απρ 2012, 20:22

Ilias95 έγραψε:
migf1 έγραψε:Πλάκα-πλάκα μεγάλο μανίκι οι 2 γλώσσες! Και ακόμα δεν έχω μεταφράσει τα κείμενα του λεξικού για το κάθε ζώο (και δεν ξέρω πότε θα το κάνω κιόλας, τα υπόλοιπα τα έχω μεταφράσει).

Πάντως αυτό με τα greeklish στη γραμμή εντολών, είναι κάπως. :/ Δεν γίνεται να παρακαμφθεί με κάποιο τρόπο αυτό το πρόβλημα;

Γίνεται, γράφοντας Windows specific κώδικα ειδικά για την είσοδο από την κονσόλα (αφού πρώτα οι χρήστες της έχουν αλλάξει γραμματοσειρά, γιατί η default είναι από την εποχή του DOS). Αλλά μιλάμε για μεγάλη ταλαιπωρία, γιατί πρέπει να φτιάξεις δικιά σου κονσόλα (αντί για την default) που είναι ολόκληρη ιστορία να την διαχειριστείς.

Στη χρήση δεν χτυπάει άσχημα το Greeklish, αλλά είναι και θέμα γούστου. Στα 7 μπορούν να τρέξουν κανονικά την φουλ Ελληνική έκδοση (τουλάχιστον στα δικά μου, που είναι Home Greek, πάντα όμως με αλλαγμένη τη default γραμματοσειρά ) αλλιώς μπορούν να τρέξουν την Αγγλική έκδοση.

έγραψε:
Κάτι άλλο.
Η "system("clear");" αναγνωρίζεται στα Windows; (Έχω την εντύπωση ότι είναι cls η εντολή εκεί.)
Και ποιος είναι ο πιο εύκολος τρόπος να καταλάβουμε σε τι λειτουργικό τρέχει το πρόγραμμα μας;

cls είναι, ναι.

Όλοι οι compilers (ή τουλάχιστον η μεγάλη τους πλειοψηφία) έχουν pre-defined preprocessor directives/macros και για το λειτουργικό και για πολλά ακόμα. Δες εδώ: http://sourceforge.net/apps/mediawiki/p ... =Main_Page

Οπότε π.χ. ..

Μορφοποιημένος Κώδικας: Επιλογή όλων
#if defined( _WIN32 ) || defined(__WINDOWS__)  /* κλπ κλπ */
#define CLRSCR "cls"
#elif defined( __linux__) || defined(_unix_) /* κλπ, κλπ */
#define CLRSCR "clear"
#endif
...
system( CLRSCR );
...
Go under the hood with C: Pointers, Strings, Linked Lists
Άβαταρ μέλους
migf1
powerTUX
powerTUX
 
Δημοσιεύσεις: 2082
Εγγραφή: 03 Ιουν 2011, 16:32
Εκτύπωση

Re: Τα πάντα για την C

Δημοσίευσηαπό migf1 » 20 Απρ 2012, 20:26

Εγώ π.χ. στο game έχω ένα cross.h (crossplatform δηλαδή) για το πως ανοίγω τα βίντεο και τις εικόνες ανάλογα την πλατφόρμα, καθώς επίσης και για τα \ και / στα paths...

Μορφοποιημένος Κώδικας: Επιλογή όλων
#ifndef CROSS_H
#define CROSS_H

#if defined(_WIN32) || defined(_WIN64) || defined(__WINDOWS__) || defined(__TOS_WIN__)
#define CHR_PATHSEPAR '\\'
#define STR_PATHSEPAR "\\"
#define SYS_MIMEOPEN "\0" /* Windows open files directly */

#elif defined(__linux__) || defined(__unix__) || defined(__CYGWIN__)
#define CHR_PATHSEPAR '/'
#define STR_PATHSEPAR "/"
#define SYS_MIMEOPEN "xdg-open" /* tested on Ubuntu 11.04 */
/* #define SYS_MIMEOPEN "gnome-open" // alternative command on Gnome */

#elif defined(macintosh) || defined(Macintosh) || (defined(__APPLE__) && defined(__MACH__))
#define CHR_PATHSEPAR '/'
#define STR_PATHSEPAR "/"
#define SYS_MIMEOPEN "open" // not tested */
/* #define SYS_MIMEOPEN "Preview" // not tested */

#else
/* Fill this in with your platform-specific behaviour */
#define CHR_PATHSEPAR '/'
#define STR_PATHSEPAR "/"
#define SYS_MIMEOPEN
#endif

#endif
Go under the hood with C: Pointers, Strings, Linked Lists
Άβαταρ μέλους
migf1
powerTUX
powerTUX
 
Δημοσιεύσεις: 2082
Εγγραφή: 03 Ιουν 2011, 16:32
Εκτύπωση

ΠροηγούμενηΕπόμενο

Επιστροφή στο Ανάπτυξη Λογισμικού / Αλγόριθμοι