Keeping Score
Just like in the gem catcher program, we'll use a variable named score  to keep track of our score.
score = 0
We'll increase our score each time the obstacle disappears off the left side of the screen. Inside update(), let's change this...
  for actor in obstacles:
    actor.x -= 8
...into this...
  for actor in obstacles:
    actor.x -= 8
    if actor.x < -50:
      obstacles.remove(actor)
      score += 1
This is what each line means...
if actor.x < -50 : When the x position is less than -50, the actor is most probably outside of the screen. So we will...
obstacles.remove(actor) : Remove the actor from the obstacles list...
score += 1 : ...and increase score by 1. Remember to declare score as a global!.
Drawing Obstacles and Score
The obstacles won't appear on screen if we don't draw it inside the draw() function. So let's add in...
for actor in obstacles:
  actor.draw()
This will go through the list of obstacles and draw each one.
We should also display the score on screen using...
screen.draw.text('Score: ' + str(score), (15,10), color=(0,0,0), fontsize=30)
Feel free to change the color, position, or fontsize.
