DAY14:Python day 19, 20, 21
dongdiri
Posted on January 28, 2024
Day 19
event listeners and higher order functions
- it a higher-order function (functions that can work with other functions)
- in a higher-order function, we don't add () for parameter function, we only pass the name.
high_order_function(function2)
screen.onkey(key="space", fun=move_forward)
- creating separate objects from same class that have independent states (attributes, methods)
Day20: making the snake game
update() method to animate
- turn off tracer
screen.tracer[0]
- control by importing
time
and delay throughtime.sleep()
- then update screen when necessary by
screen.update()
how do we turn our snake?
- in order to prevent the body from leaving its head, we need to start from the last segment and make each segment occupy the position of its previous segment. The head moves last. This part was hard to come up with myself.
- we do this by this
for
loop:
for segment_number in range(len(self.segments) - 1, 0, -1):
new_x = self.segments[segment_number - 1].xcor()
new_y = self.segments[segment_number - 1].ycor()
self.segments[segment_number].goto(new_x, new_y)
self.segments[0].forward(move_distance)
- three parameters in
range()
function are start, stop, and step, respectively. So the order starts from the last, and decrements by 1 until it reaches 0, the head.
Day21: snake game continued
class inheritance
- inheriting attributes/methods from parent(superclass)
class child(parent):
def __init__(self):
super().__init__()
slicing
- accessing set of items from one position to another
list[start position: end position: increment]
- tip:
list[::-1]
to reverse the list
💖 💪 🙅 🚩
dongdiri
Posted on January 28, 2024
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.