Paroysiasi peiramatiko gel_pamak
Upcoming SlideShare
Loading in...5
×
 

Paroysiasi peiramatiko gel_pamak

on

  • 82 views

 

Statistics

Views

Total Views
82
Views on SlideShare
76
Embed Views
6

Actions

Likes
1
Downloads
0
Comments
0

1 Embed 6

http://pclub.wikispaces.com 6

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Paroysiasi peiramatiko gel_pamak Paroysiasi peiramatiko gel_pamak Presentation Transcript

    • Πρότυπο Πειραματικό ΓΕΛ Πανεπιστημίου Μακεδονίας Γνωρίζουμε την Python με κατασκευή Απλών Διαδραστικών Παιχνιδιών στο Διαδύκτιο Σχολ. Έτος 2013-14 Βασίλης Αποστολούδας, Α1 Ολγα Αποστολούδα, Α1 Αναστασία Σερζή, Α2 Βάγια Φατζηαναστασίου, Α2 Νικηφόρος Υασφαλής, Α2 Βασίλης Κοχλιαρίδης, Β1 Κωνσταντίνος Αλεξίου, Β1 Αναστάσιος Υωτιάδης, Β2
    • Δθμιουργικθκε από τον Ολλανδό Γκουίντο βαν Ρόςςουμ (Guido van Rossum) το 1990 Βαςικόσ άξονάσ τθσ είναι θ αναγνωςιμότθτα του κϊδικά τθσ, και θ ευκολία χριςθσ τθσ Ζχει πολλζσ βιβλιοκικεσ που διευκολφνουν ιδιαίτερα αρκετζσ ςυνθκιςμζνεσ εργαςίεσ και ςυμβάλουν ςτθν ταχφτθτα τθσ εκμάκθςισ τθσ Σο όνομα τθσ γλϊςςασ προζρχεται από τθν ομάδα άγγλων κωμικϊν Μόντυ Πάικον Η Python αναπτφςςεται ωσ ανοιχτό λογιςμικό (open source) . . . είναι μια γλώσσα προγραμματισμού, που . . .
    • Η Python προτείνεται ως μια πολύ καλή σύγχρονη γλώσσα με στοιχεία Διαδικτύου για μαθητές Γυμνασίου και Λυκείου, που αρχίζουν να μαθαίνουν προγραμματισμό Η/Τ
    • Φαρακτηριστικά που την κάνουν ελκυστική . . . Python Οδθγοφμενθ από Γεγονόσ (event driven) Απλι και κατανοθτι Αντικειμενοςτραφισ Δωρεάν (ΕΛΑΚ) Αποκθκεφεται ςτο ςφννεφο και εκτελείται ςτο φυλλομετρθτι του Η/Τ θ άλλων ζξυπνων ςυςκευϊν Μαηί με τθν Java και τθν Php, κεωροφνται οι γλϊςςεσ τθσ επόμενθσ δεκαετίασ
    • Python C++ Print “Γεια σου κόσμε !’’ #include <iostream> using namespace std; void main() { cout << " Γεια σου κόσμε " << endl; return 0 } Σο πρόγραμμα «Γεια σου κόσμε !» σε Python και C++
    • Python Java Print “Γεια σου κόσμε !’’ class HelloWorldApp { public static void main(String[] args) { System.out.println("Hello World!"); // Display the string. } } Σο πρόγραμμα «Γεια σου κόσμε !» σε Python και Java
    • …γλώσσα οδηγούμενη από γεγονός
    • • Youtube • DropBox • Google (Με μεγάλθ χριςθ τθσ, ςε βαςικζσ εφαρμογζσ) • Quora • Instagram • BitTorrent (Earlier Version) • Second Life • Reddit Γνωστές εμπορικές εφαρμογές γραμμένες σε Python
    • …τα παιχνίδια μας σε Python
    • Παιχνίδι 1 : Μάντεψε τον αριθμό περιγραφή : Ο υπολογιστής βάζει στο μυαλό του ένα τυχαίο αριθμό (στόχο), από το 1 – 100 ή από το 1 – 1000. Ο παίκτης πρέπει να τον βρει με 7 ή 10 προσπάθειες αντίστοιχα Σι μάθαμε: _ Ότι με δυαδική αναζήτηση αρκούν ν απόπειρες για να βρεθεί ο αριθμός – στόχος (όπου ν είναι 2ν >= Πάνω_Αριθμός – Κάτω_Αριθμός + 1
    • 1 100 ΢τόχοσ Η/Τ 65 50 Πρόταςθ Παίκτθ Απάντθςθ Η/Τ : « ΕΙ΢ΑΙ ΧΑΜΗΛΟΣΕΡΑ » 1 100 65 50 75 Πρόταςθ Παίκτθ Απάντθςθ Η/Τ : « ΕΙ΢ΑΙ ΨΗΛΟΣΕΡΑ» Ο παίκτθσ τϊρα επιλζγει αρικμό από το 50 - 100 Σρόπος που παίζεται :
    • Παιχνίδι 2 : Ρακέτες Περιγραφή : παίζεται με δύο παίκτες, οι οποίοι προσπαθούν να αποκρούσουν την μπάλα. Μετά από κάθε χτύπημα με ρακέτα η ταχύτητα της μπάλας αυξάνεται κατά 10 % Q Επάνω S Κάτω  Επάνω Κάτω
    • Σι μάθαμε: _ Οι συντεταγμένες της μπάλας και των ρακετών πρέπει να ελέγχονται συνέχεια _ Όταν η μπάλα ακουμπήσει τα όρια της οθόνης αλλάζει το πρόσημο της κίνησής της, και γυρίζει πίσω παραμένοντας μέσα στην οθόνη _ Εξοικείωση με το σύστημα συντεταγμένων της επιφάνειας γραφικών ( καμβάς )
    • Περιγραφή : Παίζεται από ένα παίκτη, ο οποίος πρέπει να βρει δύο ίδιες κάρτες. Ανάλογα με τον βαθμό δυσκολίας τα ζευγάρια μπορεί να είναι 9 η 18. Παιχνίδι 2 : Tandem
    • Σι μάθαμε: _ Εισαγωγή εικόνων από αποθηκευτικά μέσα στο σύννεφο (Dropbox) _ Πως διαχειρίζεται η Python τα γραφικά ( Εικόνες κλπ) _ ΢τοιχεία από την αρχαία ιστορία, μιας και οι κάρτες απεικονίζουν στολές και όπλα των στρατιωτών του Μ. Αλεξάνδρου
    • Παιχνίδι 3 : Σαΐστε το ποντίκι Περιγραφή : Παίζεται με ένα παίκτη, ο οποίος προσπαθεί να ταΐσει ένα ποντικό με διάφορα είδη τυριών. Απαγορεύεται να βγει έξω από την εσωτερική περιοχή, και αν το κάνει χάνει μια από τις 6 ζωές του.
    • Σι μάθαμε: _ Να χρησιμοποιούμε γραφικά με κίνηση (animated graphics) _ Να διαχειριζόμαστε το σύστημα συντεταγμένων του γραφικού περιβάλλοντος _ Σην μέθοδο Ray Casting Για τα γραφικά του ποντικοφ βρικαμε διαδοχικζσ εικόνεσ κίνθςθσ ποντικοφ (sprites).
    • Ray casting Ο όροσ χρθςιμοποιικθκε πρϊτα, από τον Scott Roth το 1982 Ζνα ςθμείο είναι μζςα ςε πολφγωνο αν το πλικοσ των ςθμείων τομισ τθσ θμιευκείασ που αρχίηει από το ςθμείο και τζμνει το πολφγωνο είναι μονόσ. Αν το ςθμείο είναι ζξω, τότε ο αρικμόσ είναι ηυγόσ. Ζτςι μπορζςαμε να ελζγξουμε ςε κάκε κίνθςθ του ποντικοφ, αν είναι μζςα ςτο πολφγωνο.
    • Παιχνίδι 4 : Ιστορικές Γνώσεις για την εκστρατεία του Μ. Αλεξάνδρου Περιγραφή : Εδώ ο παίκτης πρέπει να βρει τις βασικές μάχες που πήρε μέρος ο Μ. Αλέξανδρος, τις πολιορκίες που έκανε, καθώς και τις Αλεξάνδρειες που ίδρυσε.
    • Σι μάθαμε: _ Να χρησιμοποιούμε τις αρχές του αντικειμενοστραφούς προγραμματισμού _ Να διαχειριζόμαστε το σύστημα συντεταγμένων του γραφικού περιβάλλοντος _ Πληροφορίες για την εκστρατεία του Μ. Αλεξάνδρου
    • Παιχνίδι 5 : Προσομοίωση Κίνησης Μορίων του αέρα Περιγραφή : ΢το παράδειγμα αυτό θελήσαμε να προσομοιώσουμε την κίνηση των μορίων του αέρα, σε δοχείο σταθερού όγκου, και σταθερής θερμοκρασίας.
    • import simplegui,random width = 800 height = 600 balls = [] no_of_balls = 200 colors =['Aqua','Black','Blue','Fuchsia','Gray','Green','Lime', 'Maroon','Navy','Olive','Orange','Purple','Red','Silver', 'Teal','White','Yellow'] class Ball: def __init__ (self,pos,radius,colorl,colorm,vimax,vimay): self.radius = radius self.colorl = colorl self.colorm = colorm self.pos = pos self.vimax = vimax self.vimay = vimay def draw(self, canvas): canvas.draw_circle(self.pos, self.radius, 1, self.colorl, self.colorm) def update(self): if self.pos[0] > width: self.vimax = self.vimax * -1 if self.pos[0] < 0: self.vimax = self.vimax * -1 if self.pos[1] > height: self.vimay = self.vimay * -1 if self.pos[1] < 0: self.vimay = self.vimay * -1 self.pos[0] += self.vimax self.pos[1] += self.vimay def init(): for i in range(no_of_balls): p=[random.randrange(1,width),random.randrange(1,hei ght)] rad = random.randint(1,20) col_l = random.choice(colors) col_m = random.choice(colors) direction_x=random.choice([-1,1]) direction_y=random.choice([-1,1]) balls.append(Ball(p, rad, col_l, col_m, random.randint(1,15)*direction_x, random.randint(1,15)*direction_y)) # Handler to draw on canvas def draw(canvas): for balla in balls: balla.update() balla.draw(canvas) # Create a frame and assign callbacks to event handlers frame = simplegui.create_frame("Home", width, height) frame.set_draw_handler(draw) init() # Start the frame animation frame.start() Με εκτενι χριςθ τθσ ςυνάρτθςθσ RANDOΜ
    • Ζγινε χριςθ τθσ αντικειμενοςτραφοφσ δυνατότθτασ τθσ Python. ΢τθ γκρι περιοχι μποροφμε να δοφμε τθν περιγραφι του αντικειμζνου των μπαλϊν. ΢ε 60 μόνο γραμμζσ, μπορζςαμε να προςομοιϊςουμε ζνα φυςικό φαινόμενο.
    • Σι μάθαμε: _ Σην χρησιμότητα του αντικειμενοστραφούς προγραμματισμού _ Οπτική απεικόνιση ενός φυσικού φαινομένου
    • Παιχνίδι 6 : Τποβρύχιο Περιγραφή : ΢το παράδειγμα αυτό ο παίκτης είναι μέσα σε ένα υποβρύχιο και προσπαθεί να τορπιλίσει περαστικά πλοία.
    • Σι μάθαμε: _ Σην χρησιμότητα του αντικειμενοστραφούς προγραμματισμού _ Αυξημένη χρήση του προγραμματισμού οδηγούμενου από γεγονός ( Σαυτόχρονη χρήση 4 χρονομέτρων, που ελέγχουν την κίνηση των κυμάτων, του πλοίου και των τορπιλών. Επίσης ταυτόχρονη λειτουργία γραφικών και πλήκτρων ελέγχου)
    • Σα τελειωμζνα παιχνίδια ενδιάμεςεσ αςκιςεισ και βοθκθτικά προγράμματα που γράψαμε για εξάςκθςθ, τα τοποκετιςαμε ςε ζνα Wiki, το οποίο είναι ζνα ομαδοςυνεργατικό περιβάλλον, όπου επικοινωνοφςαμε μεταξφ μασ, και ανεβάηαμε τα προγράμματά μασ.
    • Για να μπορζςει να παίξει ο παίκτθσ το παιχνίδι του Μ. Αλεξάνδρου, δθμιουργιςαμε ζνα Prezi, για να εμπλουτίςει τισ ιςτορικζσ του γνϊςεισ .
    • Η εναςχόλθςι μασ με τθν Python, ιταν ωφζλιμθ αλλά και διαςκεδαςτικι. ΢υγκεκριμζνα : • Γνωρίςαμε τον προγραμματιςμό οδθγοφμενο από γεγονόσ • Καταλάβαμε τι είναι και πωσ λειτουργεί ο Αντικειμενοςτραφισ Προγραμματιςμόσ • Εξοικειωκικαμε με τθν χριςθ των γραφικϊν ςτον υπολογιςτι και το ςφςτθμα ςυντεταγμζνων των εικονοςτοιχείων (pixel) • Αξιοποιιςαμε τισ γνϊςεισ μασ από τθν Άλγεβρα, Σριγωνομετρία, Φυςικι και Ιςτορία • Χρθςιμοποιιςαμε αποκθκευτικά μζςα ςτο ςφννεφο όπωσ το DropBox, επειδι για όλεσ τισ εικόνεσ που χρθςιμοποιιςαμε, παίρναμε απλά το Dropbox Link τουσ • Αξιοποιιςαμε εργαλεία Web 2.0