Ενότητα 5 - Τμήμα 1 - Γραφικά
Ενότητα 5 - Τμήμα 1 - Γραφικά
- περιγράφουν πώς να σχεδιάζονται σχήματα με την pygame
- δημιουργούν κώδικα για να κινήσουν ένα σχήμα
- δημιουργούν κώδικα για να αναπηδά ένα σχήμα μέσα σε ένα παράθυρο
- εμπλουτίζουν τον κώδικα για να κινούν και να αναπηδούν δύο αντικείμενα
- οργανώστε τον κώδικα για σχεδιάζουν και να κινούν πολλά αντικείμενα
5.1.2 - και συνεχίζουμε
Καταφέραμε να κάνουμε κινούμενο ένα ορθογώνιο παραλληλόγραμμο. Τώρα θα ελέγξουμε την κίνηση του. Αν δεν το καταφέρατε μπορείτε να κατεβάσετε τον κώδικα από εδώ και να τον ανοίξετε με το Thonny.
Αλλάξτε τις γραμμές 42 και 43 χρησιμοποιώντας διαφορετικούς ακεραίους (0, 1, 2,...) και δοκιμάστε να εκτελέσετε τον κώδικα μετά από κάθε αλλαγή που κάνατε. Δοκιμάστε και αρνητικούς αριθμούς (π.χ. -5 ή -1).
Τι συμβαίνει αν οι μεταβλητές speed_x ή speed_y γίνουν 0; Τι σμυβαίνει αν πάρουν αρνητικές τιμές;
speed = 0 σημαίνει ότι το ορθογώνιο παραλληλόγραμμο δεν κινείται
speed > 0 σημαίνει ότι το ορθογώνιο παραλληλόγραμμο κινείται προς μία κατεύθυνση (δεξιά ή κάτω)
speed < 0 σημαίνει ότι το ορθογώνιο παραλληλόγραμμο κινείται προς μία κατεύθυνση (αριστερά ή πάνω)
Πως μπορούμε να αλλάξουμε την κατεύθυνση του ορθογώνιου παραλληλογράμμου; Δοκιμάστε τα παρακάτω στη γραμμή εντολών:
>>> number = 5
>>> print (number)
>>> number *= -1
>>> print (number)
Ποιος νομίζετε ότι είναι ο σκοπός της τρίτης εντολής;
Πως πιστεύετε ότι μπορούμε να αλλάξουμε την κατεύθυνση του κύβου όταν φτάσει στην άκρη της οθόνης;
Θα προσθέσουμε αυτέ τις γραμμές κώδικα μέσα στην κύρια επανάληψη στο τμήμα λογική παιχνιδιού μετά τον καθορισμό της ταχύτητας του κύβου.
if rect_x >= 650 or rect_x <= 0:
speed_x *= -1
if rect_y >= 450 or rect_y <= 0:
speed_y *= -1
Αν δεν καταφέρατε να ολοκληρώσετε τον κώδικα ή έχετε κάνει κάποιο λάθος μπορείτε να το κατεβάσετε από εδώ.
Προσπαθήστε να καταλάβετε γιατί ο αριθμός που χρησιμοποιήσαμε για την αναπήδηση δεξιά είναι 650 και όχι 700. Το ίδιο και για την αναπήδηση στο κάτω μέρος. Γιατί χρησιμοποιούμε 450 και όχι 500; Αλλάξτε το 650 σε 670 και το 450 σε 470 και εκτελέστε το πρόγραμμα ξανά.