Ok, el procedimiento de reproducción
va a pedir a las tortugas
crear copias de ellas mismas
y va a usar el procedimiento incubar
que pide a cada tortuga incubar dos tortugas
por defecto esas tortugas tendrán
todos los atributos de sus padres
y van a guardar el número de generación
que involucra dar variables a las tortugas.
Voy a llamar a cada una de esas variables
una generación.
Ahora, cuando creamos una tortuga, tendrá
automáticamente una variable
llamada generación.
Estas pequeñas crías,
que llegan a escena,
tendrán también esa
variable.
Tendrán automáticamente el mismo valor que
sus padres, pero queremos que tengan la suya.
Aquí tenemos que usar mi generación
más una.
Pienso que esto debe estar
entre corchetes.
Básicamente, estamos estableciendo
los comandos que se aplican a las nuevas
crías. Voy a establecer mi generación más uno.
Básicamente, aumentando eso.
No sé si esos corchetes
deben estar ahí.
Podría ver en la ayuda.
Sí, claro.
Sí tiene que ir entre corchetes.
Eso explica la diferencia
entre yo y yo mismo.
Vamos a incubar dos y ponerlos.
Para que podamos verlas.
Las hacemos rojas y tres pasos hacia adelante.
Vamos a regresar aquí.
Voy a comentar esto por ahora.
Para probar el código que tenemos ahora.
Ahora reestablecemos, y damos paso.
me parece que cada tortuga tiene...
Vamos a hacer una población menor, para
que veamos. Empezamos con 5 tortugas.
No..., oh, ya veo,
supongo que estas heredan
el encabezado de sus padres.
A veces es confuso
cuando haces este tipo de modelos
porque no sabes cuántas tortugas
tienes. Puedes hacer una cosa sencilla,
muestra la cantidad de tortugas.
Me parece que son sólo unas
10 tortugas, pero cuando miramos, de hecho
hay 15, hay traslapes.
Otra forma de hacer esto es,
hacer clic en esa,
tortugas 11 y 12 coinciden.
El encabezado de sus padres ocasiona
traslape. No tenemos que preocuparnos
de eso por ahora. La reproducción funciona.
Queremos ver si el asunto de la generación
funciona. Vamos a ver aquí
en la interface. Esto, si inspeccionamos
esta tortuga, debemos ver que tiene
una variable generación.
No la veo.
Veamos si esta lo tiene.
Bueno, no está ahí.
Algo salió mal.
Vamos a comentar esto de nuevo.
Reestablece.
Inspeccionar esta tortuga.
Claro, tenemos la generación.
Esta es generación 0.
La tortuga 3 es de generación 0.
Cuando reestablecemos, con suerte,
será de generación 1.
Estamos incrementando generación.
Nuestra característica de generación está funcionando.
Ok, vamos a pedirles a los padres que mueran.
Me parece que tendremos que
seguir la traza de en qué generación estamos.
Esto es una variable global.
Cada vez que damos un paso estamos
incrementado la generación.
Esto nos permite seguir la traza de quién
debe morir y cuando.
Empieza en cero, agrega uno.
Haz que los padres mueran.
Pide a las tortugas con generación menor
o igual a la actual...
Crear agentes parciales.
Queremos hablar sólo con aquellas tortugas
cuya generación es menor o igual a la actual,
quizá sólo sea menor que, le pedimos que mueran.
Regresamos aquí.
Restablecemos, paso, parece que, en lugar de
ponerlo en rojo, vamos a ponerlo en número aleatorio,
hasta 100. Eso significa que tienen
colores distintos. Sólo temporalmente,
para que podamos ver.
Estamos viendo diferentes generaciones.
Ves que los colores están cambiando.
Las distintas generaciones están llegando,
podemos inspeccionar esas tortugas,
estamos sólo en la generación 12,
pero hemos incubado más de 20,000 turtugas,
así funciona el crecimiento exponencial,
¿cierto?
Tenemos que los padres están muriendo.
Necesitamos una especie de restricción.
Algo que lo haga difícil,
tal que no tengamos crecimiento ilimitado.
Una forma fácil de hacerlo es
haciendo que los individuos
mueran dependiendo en que tan poblado está.
Esta idea es de la biología evolutiva,
los individuos compiten entre sí,
y también con el ambiente
de cierta forma.
Este caso es que de cierta forma
están compitiendo entre sí por espacio y
de alguna forma, también con el ambiente.