STEP 17: Rectangles don't have image labels, so we can identify them by color instead.

  • Drag out Get Color so that it's indented inside the collision event.
  • Change my_var to color and sprite to hit_sprite. This stores the color of any shape sprites that we touch!
  • Go to the LOGIC tab and the toolkit. Drag if into the collision event.
  • Change choice to color and change "yes" to "green". If we've touched a green rectangle, we win!

# sprite = codesters.Rectangle(x, y, width, height, "color") start = codesters.Rectangle(0, -250, 500, 50, "red") # sprite = codesters.Rectangle(x, y, width, height, "color") finish = codesters.Rectangle(0, 250, 500, 50, "green") my_list = [-150, -50, 50, 150] for value in my_list: pass # delete after adding indented code # add code here # sprite = codesters.Rectangle(x, y, width, height, "color") sprite = codesters.Rectangle(0, value, 500, 50, "gray") # sprite = codesters.Sprite("image", x, y) sprite = codesters.Sprite("turtle1", 0, -240) sprite.set_size(.2) sprite.turn_left(90) def interval(): my_var = random.choice(my_list) if my_var == -150 or my_var == 50: pass # delete after adding indented code # add your code here sprite = codesters.Sprite("car1", -400, my_var) sprite.turn_right(90) sprite.set_size(0.5) sprite.set_x_speed(2) if my_var == -50 or my_var == 150: pass # delete after adding indented code # add your code here sprite = codesters.Sprite("car2", 400, my_var) sprite.turn_left(90) sprite.set_size(0.5) sprite.set_x_speed(-2) stage.event_interval(interval, 0.5) stage.disable_all_walls() def up_key(): sprite.move_up(20) # add other actions... stage.event_key("up", up_key) def down_key(): sprite.move_down(20) # add other actions... stage.event_key("down", down_key) def left_key(): sprite.move_left(20) # add other actions... stage.event_key("left", left_key) def right_key(): sprite.move_right(20) # add other actions... stage.event_key("right", right_key) # sprite = codesters.Text("text") result = codesters.Text("") def collision(sprite, hit_sprite): image = hit_sprite.get_image_name() # add any other actions... sprite.event_collision(collision)