Cs Academy - 6.3.5 Cmu
Unlike text-based problems on LeetCode or Codecademy, CMU CS Academy asks you to build shapes, animate objects, and respond to user input (mouse clicks and keyboard presses) within a 400x400 canvas. Unit 6 changes everything. In earlier units, code runs top-to-bottom and stops. In Unit 6, you write event handlers —functions that sit dormant until a specific action occurs.
In the CMU CS Academy curriculum—specifically within the (Introduction to Programming) or CS1 courses—Unit 6 is dedicated to "Events and Interactions." Section 3 focuses on keyboard input, and exercise 6.3.5 is where the rubber meets the road. 6.3.5 Cmu Cs Academy
def onKeyPress(key): circle.centerX += 15 # Error: circle is not defined Unlike text-based problems on LeetCode or Codecademy, CMU
def onKeyPress(key): global circle # Movement speed speed = 15 In Unit 6, you write event handlers —functions
Happy coding, and may your keypresses always be detected! This article is part of a series on CMU CS Academy exercise solutions. For help with 6.3.6, 6.4.1, or the final project, check out the related guides.
If you are currently navigating the vibrant, graphics-driven world of CMU CS Academy , you have likely encountered the infamous checkpoint 6.3.5 . For many students, this specific exercise represents the first major leap from simple animation loops into the realm of interactive event handling.
# Arrow key logic if key == 'up': if circle.centerY - speed >= 20: # Keep within top edge circle.centerY -= speed elif key == 'down': if circle.centerY + speed <= 380: # Keep within bottom edge circle.centerY += speed elif key == 'left': if circle.centerX - speed >= 20: # Keep within left edge circle.centerX -= speed elif key == 'right': if circle.centerX + speed <= 380: # Keep within right edge circle.centerX += speed