- Use keyboard object for smooth continuous movement
- Implement boundary checking to keep player on screen
- Understand difference between keyboard state vs keyboard events
- Enable diagonal movement
if keyboard.left: # TRUE while key is held
x -= speed # Move every framevs event-based (Week 9 Turtle style):
def on_key_down(): # Called once per press
x -= speed # Move once- Warm-up (10 min): Compare Turtle movement to Pygame Zero
- Teach (15 min): keyboard object, boundary checking with max/min
- Build (20 min): Add all 4 directions, test boundaries
- Challenge (15 min): Add speed control, trail effect, second player
- Forgetting
global x, y - Boundary math:
max(10, min(WIDTH-10, x))confusing at first - Expecting instant response (it IS instant - 60 FPS!)
- Smooth 4-direction movement
- Player stays on screen
- Can add speed modifier (shift key makes faster)