Activity: Extend: Global Variable

EXTEND—STEP 3: Our scoreboard isn't updating when we hit the basket. Let's fix that!

Variables created OUTSIDE an event can't be changed INSIDE an event. We use the keyword global to make an exception to this rule. global lets us use a variable inside and outside of an event.

  • Inside your collision event, drag in Global Variable within your if statement. It should be indented twice.
  • Change the variable name from my_var to score.

stage.set_background("moon") sprite = codesters.Sprite("alien1") sprite.go_to(-175, -150) net = codesters.Sprite("basketballnet") net.go_to(215, 175) instructions = codesters.Text("Click on the sprite to shoot the basketball. Hit the basket to score a point!") instructions.go_to(0, 50) instructions.set_color("white") stage.set_gravity(10) sprite.set_gravity_off() def click(sprite): ball = codesters.Sprite("basketball") ball.go_to(-175, -125) ball.set_x_speed(10) ball.set_y_speed(10) # add other actions... sprite.event_click(click) stage.disable_right_wall() def collision(net, hit_sprite): my_var = hit_sprite.get_image_name() if my_var == "basketball": sprite.say("Score!") hit_sprite.hide() # add any other actions... net.event_collision(collision) score = 0 #my_display = codesters.Display(my_var, x, y) my_display = codesters.Display(score, -200, 150)