Το προφίλ μας στο Google Plus
0

The Enigma Reborn [μέρος 4, τελευταίο]

Στο σχετικό άρθρο του τεύχους 023 ολοκληρώσαμε την text-based εκδοχή της Enigma. Κατορθώσαμε να ανακαλύψουμε όλα τα μυστικά της κρυπτογράφησής της και να τα εξομοιώσουμε πλήρως στην αγαπημένη μας Python. Σημαντικοί μας σύμμαχοι υπήρξαν φυσικά οι διάφορες εκπληκτικές λειτουργίες της γλώσσας, όπως, π.χ., τα dictionaries.

deltaHacker 024 (τεύχος Σεπτεμβρίου 2013) | The Enigma Reborn [μέρος 4]

Όμως μια text-based εκδοχή της Enigma είναι καλή όσο χρειάζεται για να ανιχνεύσουμε και να υλοποιήσουμε τη βασική λειτουργία της μηχανής. Εκτός από τους hard core UNIXάδες, όλοι οι υπόλοιποι περιμένουν περιβάλλον γραφικών για τα προγράμματα τους. Και βέβαια ξέρουμε ότι εσάς, τους φανατικούς FreeBSD users, δεν σας χαλάει το terminal και το text mode. Όπως και να ‘χει, όμως, δεν θέλουμε η Enigma μας να διαθέτει interface πιο δύσχρηστο κι από την original μηχανή των Γερμανικών υποβρυχίων!

Ένα θέμα που έχουμε να αντιμετωπίσουμε είναι η μετατροπή αυτού του text interface σε γραφικό. Τα προβλήματά μας είναι δύο.

  • Ποια βιβλιοθήκη θα χρησιμοποιήσουμε; Εδώ, επιλέξαμε το PyGame. Θα μπορούσαμε επίσης να χρησιμοποιήσουμε το wxPython, αλλά καθώς έχουμε μια κατά βάση γραφική αναπαράσταση της αρχικής Enigma, το PyGame βολεύει: Τελικά, όπως θα δείτε, θα σχεδιάζουμε γραμμές και κύκλους. Είναι παιχνίδι!
  • Μπορούμε άραγε να προσθέσουμε τις λειτουργίες γραφικών επηρεάζοντας όσο το δυνατό λιγότερο τον κώδικα που έχουμε ήδη γράψει; Δεν είναι καθόλου –μα, καθόλου– επιθυμητό να χρειαστεί να πειράξουμε οτιδήποτε έχει να κάνει με την κρυπτογράφηση/αποκρυπτογράφηση. Απλά, με κάποιον τρόπο, πρέπει να προσθέσουμε λειτουργικότητα στις κλάσεις μας, ώστε να μας παρουσιάζουν *και* γραφικά αυτό που κάνουν ήδη μια χαρά με το κείμενο.

Όπως θα δείτε, τα προβλήματα αυτά λύνονται. Το PyGame όμως δεν είναι φτιαγμένο για να δημιουργεί interfaces, τουλάχιστον όχι με την έννοια του wx. Δεν έχει λοιπόν κουμπάκια, πεδία εισαγωγής κειμένου (text boxes) και άλλα τέτοια καλούδια. Κι αν και το μισό γραφικό μας πρόγραμμα χρειάζεται την αμεσότητα σχεδίασης που μας παρέχει το PyGame, το άλλο μισό εκλιπαρεί για έτοιμα τέτοια controls. Τι κάνουμε σε αυτή την περίπτωση; Μα, φυσικά τα φτιάχνουμε!

Διαβάστε ολόκληρο το άρθρο στο deltaHacker 024 (τεύχος Σεπτεμβρίου 2013).

Το μηνιαίο περιοδικό deltaHacker είναι πλέον ηλεκτρονικό! Μάθετε για τις νέες, απίστευτες τιμές και κάντε τώρα την παραγγελία σας συμπληρώνοντας τη σχετική φόρμα.

Leave a Reply

You must be logged in to post a comment.

Σύνδεση

Αρχείο δημοσιεύσεων