Ayuda con el Juego Disparar a Monos

Hola! En el juego disparar a monos, durante su ejecución algunas balas no colisionan con los monos y además no aparecen las estrellas.
Al código lo escribí como se indica en el tutorial. No encuentro cual es el error que estoy cometiendo y recurro a ustedes para que me ayuden. De ya muchas gracias.

import pilas
import random

pilas.iniciar()

balas_simples = pilas.actores.Bala
balas_dobles = pilas.municion.BalasDoblesDesviadas
monos = []
tiempo = 6
fin_de_juego = False

def mono_destruido(disparo, enemigo):
	enemigo.eliminar()
	disparo.eliminar()
	
	puntos.escala = 0
	puntos.escala = pilas.interpolar(1, duracion=0.5, tipo='rebote_final')
	puntos.aumentar(1)

def crear_mono():
	enemigo = pilas.actores.Mono()
	enemigo.escala = 0
	enemigo.escala = pilas.interpolar(0.5, duracion=0.5, tipo='elastico_final')
	
	enemigo.aprender(pilas.habilidades.PuedeExplotar)
	
	x = random.randrange(-320, 320)
	y = random.randrange(-240, 240)
	
	if x >=0 and x<=100:
		x = 180
	elif x <=0 and x >= -100:
		x = -180
	if y >=0 and y<=100:
		y = 180
	elif y <=0 and y >= -100:
		y = -180

	enemigo.x = x
	enemigo.y = y

	tipo_interpolacion = ['linea', 'aceleracion_gradual', 'desaceleracion_gradual', 'rebote_inicial', 'rebote_final']

	enemigo.x = pilas.interpolar(0, tiempo, tipo=random.choice(tipo_interpolacion))
	enemigo.y = pilas.interpolar(0, tiempo, tipo=random.choice(tipo_interpolacion))
 
	monos.append(enemigo)
	
	if random.randrange(0, 20) > 15:
		if issubclass(torreta.habilidades.DispararConClick.minicion, balas_simple):
			
			estrella = pilas.actores.Estrella(x, y)
			estrella.escala = pilas.interpolar(0.5, duracion=0.5, tipo='elastico_final')
			
			pilas.mundo.colisiones.agregar(estrella, torreta.habilidades.DispararConClick.proyectiles, asignar_arma_doble)
			
			pilas.mundo.agregar_tarea(3, eliminar_estrella, estrella)

	if fin_de_juego:
		return False
	else:
		return True

def perder(torreta, enemigo):
	 global fin_de_juego
	
	enemigo.sonreir()
	
	torreta.eliminar()
	
	fin_de_juego = True
	
	pilas.avisar("Game Over. Conseguiste %d puntos" %(puntos.obtener()))

 def asignar_arma_simple():
    	torreta.municion = balas_simple
    
def asignar_arma_doble(estrella, disparo):
    	torreta.municion = balas_dobles
    	estrella.eliminar()
    	pilas.mundo.agregar_tarea(10, asignar_arma_simple)
    	pilas.avisar("ARMA MEJORADA")
       
def eliminar_estrella(estrella):
    	estrella.eliminar()
      
 def reducir_tiempo():
    	global tiempo
    	tiempo -= 1
    	pilas.avisar("HURRY UP!!")
    	
    	if tiempo <=1:
    		tiempo = 0.5
    	
    	return True   

pilas.fondos.Pasto()

puntos = pilas.actores.Puntaje(x=230, y=200, color=pilas.colores.blanco)
      
 pilas.magnitud = 40

 pilas.actores.Sonido()

torreta = pilas.actores.Torreta(municion_bala_simple=balas_simples, enemigos=monos, cuando_elimina_enemigo=mono_destruido)

pilas.mundo.agregar_tarea(1, crear_mono)

pilas.mundo.agregar_tarea(20, reducir_tiempo)

pilas.mundo.colisiones.agregar(torreta, monos, perder)
    
pilas.avisar(u"Mueve el ratón y haz clic para destruirlos.")
    
pilas.ejecutar()

En la función asignar_arma_simple() pones “balas_simple”, cuando debería ser “balas_simples”

Y no olvides la línea de codificación utf-8

Ahora si aparecen las estrellas pero todavía algunos monos no colisionan con las balas. Además cuando intento ejecutarlo en la nueva versión de pilas a veces se produce el error ImportError: cannot import name utils y otras el error No module named numpy