Ευχαριστώ για τα καλά λόγια!
Για την
1η παρατήρηση έχεις δίκιο, ήρθα κι εγώ σε αυτό το δίλημμα. Διότι αν τα δείξω μένουν ανοιχτά για όση ώρα επιθυμεί ο χρήστης, συν ότι θα φαίνονται στην κορυφή της οθόνης και στα επόμενα παιξίματα. Στην πραγματικότητα τα βλέπουμε μια μόνο φορά καθώς μοιράζονται στο τραπέζι και για πολύ λίγη ώρα, κι από εκεί και πέρα υποτίθεται πως πρέπει να τα θυμόμαστε. Σκέφτηκα λοιπόν να μη τα δείχνω καθόλου (γίνεται και κάπως πιο δίκαιο, αφού ο χρήστης ξέρει ήδη τον τρόπο παιξίματος του υπολογιστή, διαβάζοντας το README_EL.txt, οπότε έτσι ισορροπείται κάπως το unfair του πράγματος).
Πάντως είναι πολύ εύκολο να το κάνει κανείς να δείχνει και τα υπόλοιπα φύλλα την 1η φορά. Ενεργοποιεί την συνάρτηση:
- Κώδικας: Επιλογή όλων
void stack_print( CardStack *stack )
στο αρχείο:
stack.c...
και τη χρησιμοποιεί κατόπιν είτε μέσα είτε μετά από τη συνάρτηση:
- Κώδικας: Επιλογή όλων
DeckIndex game_dealtable( CardStack **table, Card *deck, int ncards)
στο αρχείο:
main.c Θα χρειαστεί να προσαρμόσει λιγάκι το τύπωμα των φύλλων αυτών στις ανάγκες του (βασικά μπορεί να το κάνει όσο advanced θέλει, π.χ. να τα δείχνει ας πούμε από 1 sec το καθένα και να τα κλείνει μετά).
Σχετικά με τη
2η παρατήρηση, για να βάλω GUI έπρεπε είτε να φτιάξω ένα δικό μου, απλοποιημένο και προσαρμοσμένο στις ανάγκες του συγκεκριμένου παιχνιδιού, είτε να χρησιμοποιήσω κάποιες από τις έτοιμες βιβλιοθήκες. Νομίζω πως και στις 2 αυτές περιπτώσεις θα αυξανόταν δυσανάλογα η πολυπλοκότητα και το μέγεθος του κώδικα, για ένα πρόγραμμα που γράφτηκε κυρίως για να παρουσιάσει τη χρήση απλών δομών δεδομένων σε ένα ζωντανό παράδειγμα.
Εννοείται πως θα χαρώ πολύ αν κάποιος θελήσει να του προσθέσει γραφικό περιβάλλον και να μοιραστεί και τον κώδικα. Επίσης θα χαρώ να προσφέρω οποιαδήποτε περαιτέρω διευκρίνηση ενδεχομένως χρειαστεί για τον κώδικα (εκτός αν περάσει πάρα πολύς καιρός κι έχω ξεχάσει κι εγώ τις λεπτομέρειές του

)
ΣΗΜΕΙΩΣΗ: Το zip στην 1η δημοσίευση ενημερώθηκε με κύρια αλλαγή την προσθήκη του αρχείου:
disabled.c (που είχα ξεχάσει να το συμπεριλάβω, παρόλο που το αναφέρω στο Readme) καθώς επίσης και την προσαρμογή του κώδικα σε tab space = 8 (προηγουμένως είχα προσαρμόσει σε tabspace 8 μόνο τον κώδικα του main.c).
roman έγραψε:Πολύ καλό μπράβο. Φαίνεται πολύ καλή προσπάθεια. Άμα κάποτε θελήσω να υλοποιήσω ένα παιχνίδι βίδας που σκεφτόμουνα θα το συμβουλευτώ.
Έχω 2 παρατηρήσεις.
1ον Δεν φαίνονται τα πρώτα 3 χαρτιά που πέφτουν, μόνο το 4ο αναγράφει. Κανονικά πρέπει να λέει ποια είναι έτσι ώστε να σε βοηθάει στην ξερή να επιλέξεις ένα που με μικρότερη πιθανότητα να στο πιάσει ο αντίπαλος.
2ον Χαρτιά από γραμμή εντολών είναι κάπως. Όταν το κατέβαζα φανταζόμουν ότι θα ήταν με gui αλλά και πάλι είναι πολύ καλή δουλειά!