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.
def onKeyRelease(key): global moveLeft if key == 'left': moveLeft = False 6.3.5 Cmu Cs Academy
# 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 If you are currently navigating the vibrant, graphics-driven
This article will break down exactly what 6.3.5 requires, the core concepts you need to master, common pitfalls, and a step-by-step strategy to solve it efficiently. Before we dissect the specific exercise, let's establish the platform. CMU CS Academy is a free, online, project-based curriculum developed by Carnegie Mellon University. It uses a custom, simplified version of Python (built around the cmu_graphics library) to teach computer science fundamentals through visual, interactive graphics. Before we dissect the specific exercise, let's establish
# 6.3.5 - Moving Circle with Arrow Keys # CMU CS Academy Solution circle = None
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.