Μαθαίνοντας Python ΣΕΜΙΝΑΡΙΟ PYTHON 2014

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Εισαγωγή στο περιβάλλον εργασίας του
Advertisements

Πώς να χρησιμοποιήσετε τον λογαριασμό σας στο Gmail
Εκμάθηση διεπαφής MS Kodu. Δημιουργώ τον Κόσμο Το πρώτο πράγμα που θα φτιάξουμε είναι ο κόσμος. Λογικό, αφού χωρίς κόσμο, πού θα τοποθετούσαμε μετά τα.
Η ΠΡΩΤΗ ΜΟΥ ΤΑΙΝΙΑ ΜΕ ΤΟ MOVIE MAKER
Επιμορφωτής: Ονομ/νυμο Επιμορφωτή
Καθηγητής: Δ. Μπουτακίδης
Διδασκαλία προγραμματισμού μέσω σχεδίασης ηλεκτρονικών παιχνιδιών: Η περίπτωση του GameMaker 13 Απριλίου 2013 Σαρημπαλίδης Ιωάννης & Μιχαηλίδης Νίκος.
Το φόρουμ κάθε Τριγλιανού Απόγονου
Copyright ©: SAMSUNG & Samsung Hope for Youth. Με επιφύλαξη κάθε νόμιμου δικαιώματος Εκπαιδευτικό υλικό Λογισμικό: Δημιουργία εφαρμογών Επίπεδο.
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
ΠΡΟΓΡΑΜΜΑ ΑΓΩΓΗΣ ΥΓΕΙΑΣ ΘΕΜΑ “ ΔΙΑΧΕΙΡΗΣΗ ΤΡΑΠΕΖΑΣ ΑΙΜΑΤΟΣ”
Σημειώσεις : Χρήστος Μουρατίδης
Η εντολή Δείξε είναι μια εντολή εξόδου και χρησιμοποιείται για:
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
H Mathematica στην υπηρεσία της Φυσικής
Μήτρες (templates)  Μία μήτρα είναι ένα κομμάτι κώδικα που περιέχει παραμέτρους οι οποίες δέχονται ως τιμές τύπους δεδομένων.  Είναι ένας μηχανισμός.
Σημειώσεις : Χρήστος Μουρατίδης
Γνωριμία με το Scratch.
Στο λειτουργικό σύστημα Windows, υπάρχουν εικονίδια (icons) τα οποία αναπαριστούν τις διάφορες οντότητες (φυλαγμένες πληροφορίες, προγράμματα που κάνουν.
ΕΝΟΤΗΤΑ 3 – Κεφάλαιο 9: Ζωγραφική
Εργαστήριο Εφαρμοσμένης Πληροφορικής
ΖΩΓΡΑΦΙΖΟΝΤΑΣ ΣΤΟ SCRATCH
To περιβάλλον kodu Σενάριο διδασκαλίας.
Κεφάλαιο 2 Κίνηση σε μία διάσταση
Εργασία με παράθυρα.
Microsoft PowerPoint Powerpoint Κίκα Χρυσοστόμου.
2.2 Η ΕΝΝΟΙΑ ΤΗΣ ΤΑΧΥΤΗΤΑΣ.
3D Space Invader Πετράκης Γιάννης. Περιγραφή παιχνιδιού Αποτελείται από Ένα όχημα που βρίσκεται στο έδαφος, κινείται στις δύο διαστάσεις και πυροβολεί.
Power Point Κεφάλαιο 5.
Microsoft PowerPoint Powerpoint Κίκα Χρυσοστόμου.
Γρήγορη αναφορά για την εφαρμογή © 2013 Microsoft Corporation. Με επιφύλαξη κάθε νόμιμου δικαιώματος. Η αρχική οθόνη του Lync Η αρχική οθόνη του Lync διαθέτει.
Επικοινωνία Ανθρώπου Μηχανής HTML CGI JAVASCRIPT Κουμπούλης Χρήστος Α.Μ. 921 Χαλαβαζής Βασίλης Α.Μ. 988.
XERTE TUTORIAL - ΣΗΜΕΙΩΣΕΙΣ ΕΡΓΑΣΤΗΡΙΟΥ ΘΜΕΛ ΣΤ. ΔΗΜΗΤΡΙΑΔΗΣ Xerte Interaction – Διάδραση Θεωρίες Μάθησης & Εκπαιδευτικό Λογισμικό Σημειώσεις Εργαστηρίου.
Γρήγορα αποτελέσματα με την Εφαρμογή Lync Windows Store Lync 2013.
Μορφοποίηση Παραγράφων
Το Scratch και ο σχεδιασμός γεωμετρικών σχημάτων
Applets Εκμεταλλεύονται τo γραφικό υπόβαθρο που παρέχουν οι browsers, έχοντας έτσι τη δυνατότητα προβολής γραφικών και τη δυνατότητα υλοποίησης ενός γραφικού.
Κάντε κλικ για έναρξη… Τ Ο ΠΕΡΙΒΑΛΛΟΝ ΕΡΓΑΣΙΑΣ Κέντρο εντολών Χώρος γραφικών (σελίδα) Χώρος σύνταξης διαδικασιών.
ΕΓΚΑΤΑΣΤΑΣΗ WINDOWS 8 ΟΜΑΔΑ: ΔΗΜΗΤΡΗΣ ΜΑΚΚΑΣ ΠΑΝΑΓΙΩΤΗΣ ΚΟΥΤΣΟΜΠΛΗΣ ΧΡΙΣΤΟΣ ΠΑΤΑΚΙΑΣ ΝΑΚΟΣ ΝΤΟΜΠΕΒ.
Γυμνάσιο Νέας Κυδωνίας
CSS – Cascading Style Sheets (Ιδιότητες φόντου - background) Καθορίζουν το φόντο των στοιχείων της HTML Χρώμα φόντου Φόντο εικόνας (τοποθέτηση εικόνας,
Μερικές φορές το αποτέλεσμα εμφανίζεται αμέσως από κάτω.
Βασικά στοιχεία της Java
WORDPRESS ΕΓΚΑΤΑΣΤΑΣΗ ΚΟΥΡΕΑΣ ΑΡΓΥΡΗΣ ΜΗΧΑΝΙΚΟΣ – ΚΑΘΗΓΗΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 1.
ΜΑΘΗΜΑ: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ 1 ο ΕΡΓΑΣΤΗΡΙΟ: WINDOWS XP ΚΑΘΗΓΗΤΗΣ: ΓΡΗΓΟΡΙΟΣ Ν. ΚΑΡΑΤΑΣΙΟΣ.
ΜΑΘΗΜΑ: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ 2 ο ΕΡΓΑΣΤΗΡΙΟ: Μενού,Εντολές και Παράθυρα Διαλόγου Καθηγητής: Γρηγόριος Νικ. Καρατάσιος.
ΕΝΟΤΗΤΑ 3 – Κεφάλαιο 9: Ζωγραφική
Εισαγωγή στο πρόγραμμα microsoft word
FREEMAT Επεξεργασία εικόνας.
Εργαστηριακό σεμινάριο Χειμερινό εξάμηνο
ΑΣΚΗΣΗ 4: Θεμελιώδης Νόμος της Μηχανικής
ΑΣΚΗΣΗ 11: Υπολογισμός των συντελεστών κινητικής και στατικής τριβής .
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
Πως δημιουργούμε μια παρουσίαση στο PowerPoint
ΣΥΝΟΠΤΙΚΗ ΠΑΡΟΥΣΙΑΣΗ POWERPOINT
ΖΩΓΡΑΦΙΚΗ - ΤΟ ΦΩΝΗΕΝ Ο ΣΗΜΕΡΑ ΘΑ ΜΑΘΟΥΜΕ :
Web Services στη C# Εργαστήριο 3
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΩΝ Η/Υ
Καλώς ορίσατε στο PowerPoint
Γραφικό Περιβάλλον Εργασίας H/Y
Εικόνα 2.1: Το περιβάλλον της MicroWorlds Pro.
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
Σημειώσεις : Μιχάλης Φίλης
Τρόπος προσαρμογής του Microsoft SharePoint Τοποθεσία Web με σύνδεση
ΠΡΟΓΡΑΜΜΑ ΕΠΙΜΟΡΦΩΣΗΣ Β΄ΕΠΙΠΕΔΟ ΓΙΑ ΠΕ03
Σημειώσεις : Μιχάλης Φίλης
Γλώσσα Προγραμματισμού LOGO MicroWorlds Pro
ΕΝΟΤΗΤΑ 3 – Κεφάλαιο 9: Ζωγραφική
Μεταγράφημα παρουσίασης:

Μαθαίνοντας Python -- 10 ΣΕΜΙΝΑΡΙΟ PYTHON 2014 ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΑΠΘ, ΣΤ. ΔΗΜΗΤΡΙΑΔΗΣ

PYGAME Δ Μέρος

Collision detection & Keyboard Input Στην ενότητα αυτή θα ασχοληθούμε (β) με την Ανίχνευση Σύγκρουσης (Collision detection) μεταξύ αντικειμένων στην οθόνη (β) Έλεγχο πληκτρολογήσεων του χρήστη

Το παράδειγμά μας Στο παράδειγμα αυτό θα χρησιμοποιήσουμε την κλάση Ball και θα σχεδιάσουμε επιπρόσθετα την κλάση με όνομα Raketa Τα αντικείμενα τύπου Raketa θα μπορούν να “χτυπούν” τα αντικείμενα τύπου Ball Έτσι μπορούμε να φτιάξουμε αθλητικά παιχνίδια, τύπου τένις, πινγκ-πονγκ κλπ. ή παιχνίδια με ρακέτα πχ. τύπου arkanoid Επίσης θα δούμε το πώς ο παίκτης ελέγχει τη ρακέτα του μέσω των πλήκτρων Left & Right Arrow (Δεξί – Αριστερό Βέλος) του πληκτρολογίου

Κλάση Raketa, Constructor -- 1 Class Raketa  υποκλάση της γενικής Sprite __init__  constructor που καλεί και την αντίστοιχη init της Sprite createX, createY  συντεταγμένες όπου θα δημιουργηθεί το αντικείμενο τύπου Raketa dimX, dimY  διαστάσεις της εικόνας του αντικειμένου στον Χ & Υ άξονα speedX  αρχική ταχύτητα στον άξονα Χ (ΔΕΝ χρειαζόμαστε στον άξονα Υ καθώς η ρακέτα κινείται μόνον ΟΡΙΖΟΝΤΙΑ)

Κλάση Raketa, Constructor -- 2 self.rect  η ορθογώνια περιοχή (Surface) που περικλείει την εικόνα του αντικειμένου τύπου Raketa self.image  ‘φορτώνουμε’ την εικόνα από το αρχείο ‘raketa.png’ καλώντας την image.load self.transImage  προσαρμόζουμε (transform) τις διαστάσεις της εικόνας (με βάση τις τιμές των ορισμάτων dimX, dimY)

Κλάση Raketa, Constructor -- 3 self.moveLeft  μεταβλητή Flag – Όταν είναι True δείχνει πως ο παίκτης ζητά να κινηθεί η ρακέτα προς τα αριστερά self.moveRight  μεταβλητή Flag – Όταν είναι True δείχνει πως ο παίκτης ζητά να κινηθεί η ρακέτα προς τα δεξιά self.speedX  η ταχύτητα του αντικειμένου στον άξονα Χ – Παίρνει αρχική τιμή από την παράμετρο speedX

Κλάση Raketa, Μέθοδος move Ελέγχει: (α) αν το αντικείμενο κινείται αριστερά (moveLeft) ΚΑΙ δεν έχει φτάσει στο όριο της αριστερής πλευράς  αν True τότε μειώνει τη συντεταγμένη left κατά το ποσό speedX (β) αν το αντικείμενο κινείται δεξιά (moveRight) ΚΑΙ δεν έχει φτάσει στο όριο της δεξιάς πλευράς  αν True τότε αυξάνει τη συντεταγμένη right κατά το ποσό speedX Τέλος καλεί την blit για αποτύπωση στην επιφάνεια surf (η οποία περνά ως παράμετρος)

Main -- 1 Συντεταγμένες κέντρου οθόνης Θα χρειαστούμε τις συντεταγμένες κέντρου οθόνης Καλέστε την get_rect().centerx & get_rect(). centery για να τις περάσετε στις δικές σας μεταβλητές wSCenterX & wSCenterY

Main -- 2 Δημιουργία αντικειμένου τύπου Raketa Δημιουργείται το αντικείμενο r1 τύπου Raketa Προσέξτε τα ορίσματα αρχικής θέσης wSCenterX  στο κέντρο της οθόνης στον άξονα Χ wSCenterY +200  200 pxls κάτω από το κέντρο της οθόνης στον άξονα Υ Αμέσως μετά καλείται η update για ενημέρωση της οθόνης

Main -- 3 Έλεγχος Πληκτρολόγιου Αν δημιουργήθηκε γεγονός τύπου KEYDOWN (ο παίκτης πατά το πλήκτρο) ΤΟΤΕ αν πατήθηκε K_LEFT ή K_RIGHT ρύθμισε κατάλληλα τις σημαίες moveRight & moveLeft του r1 Αν δημιουργήθηκε γεγονός τύπου KEYUP (ο παίκτης αφήνει το πλήκτρο) ΤΟΤΕ αν πατήθηκε ESCAPE ή K_LEFT ή K_RIGHT κάνε τις κατάλληλες ενέργειες Πχ. ρύθμισε κατάλληλα τις σημαίες moveRight & moveLeft του r1

Main -- 4 Έλεγχος Πληκτρολόγιου Παρατηρήστε τον κώδικα ελέγχου του πληκτρολογίου Ο κώδικας: (α) ελέγχει τι πλήκτρο πατήθηκε (β) ρυθμίζει κατάλληλες μεταβλητές-σημαίες (moveLeft & moveRight) (γ) στην περίπτωση του ESCAPE εγκαταλείπει το πρόγραμμα Οι ενέργειες ρύθμισης της κίνησης της ρακέτας θα γραφούν παρακάτω, μετά τον κώδικα ελέγχου Γιατί ΔΕΝ δηλώνουμε εμείς πουθενά τις σταθερές K_LEFT, K_RIGHT κλπ;

Main -- 5 Κίνηση αντικειμένων Αφού χρωματίσουμε λευκή την επιφάνεια της οθόνης (ώστε να σβήσει την προηγούμενη θέση των αντικειμένων)… …καλούμε τις μεθόδους move των αντικειμένων ώστε να τα σχεδιάσουν στη νέα τους θέση Θυμηθείτε ότι οι μέθοδοι move καλούν και την blit

Main -- 6 Ανίχνευση σύγκρουσης Η ανίχνευση σύγκρουσης μπορεί να γίνει με πολλούς τρόπους Στο παράδειγμά μας καλούμε την μέθοδο colliderect του αντικειμένου b1 με όρισμα το r1.rect, δηλ. την ορθογώνια επιφάνεια που περιλαμβάνει το αντικείμενο r1

Διαφάνεια sprites Transparency

Το γενικό πρόβλημα Πως μπορούμε να παρουσιάσουμε με διάφανο τρόπο (transparent) τα sprites στην οθόνη;; … ώστε να μην εμφανίζεται το χρώμα που υπάρχει στο περιθώριο του ορθογωνίου Rect ενός sprite

Το παράδειγμά μας Γενικά ένα sprite εμφανίζει συνήθως ένα ανεπιθύμητο περίγραμμα χρώματος μέσα στην ορθογώνια περιοχή Rect όπου το προβάλλουμ Πχ. η μπάλα δεξιά εμφανίζει ένα λευκό περίγραμμα αν προβληθεί σε background διαφορετικού χρώματος Πώς μπορούμε να εμφανίσουμε τη μπάλα χωρίς το λευκό περίγραμμα;

Λύση Α --- 1 Με έναν επεξεργαστή εικόνας μετατρέπω το ανεπιθύμητο χρώμα της εικόνας σε διάφανο Η εικόνα δεξιά επάνω εμφανίζει το sprite της μπάλας (αρχείο ballw.png) όπως αρχικά είναι με το λευκό περίγραμμα Η εικόνα δεξιά κάτω εμφανίζει το sprite της μπάλας (αρχείο ball.png) μετά την επεξεργασία. Το ανεπιθύμητο περίγραμμα εμφανίζεται ως γκρίζα περιοχή (transparent)

Λύση Α --- 2 «Φορτώνω» κανονικά την εικόνα που έχω επεξεργαστεί Λύση Α --- 2 «Φορτώνω» κανονικά την εικόνα που έχω επεξεργαστεί Η δηλωμένη ως διάφανη (transparent) περιοχή δεν θα εμφανίζεται στην οθόνη self.image=pygame.image.load('ball.png')

Λύση Β --- 1 Φορτώνω την κανονική εικόνα (αρχείο ballw.png) χωρίς καμιά επεξεργασία με χρήση της convert() self.image=pygame.image.load('ballw.png').convert() H convert δημιουργεί ένα ακόμη ‘κανάλι’ χρώματος αφιερωμένο στη διαφάνεια της εικόνας

Λύση Β --- 2 Δηλώνω το χρώμα της εικόνας που θέλω να είναι διαφανές με την set_colorkey() Το αποτέλεσμα είναι πως το λευκό περίγραμμα της μπάλας δεν εμφανίζεται πλέον καθώς θεωρείται διάφανο