Autómatas celulares y una ejecución de juego de Conway de la vida (7 / 11 paso)

Paso 7: actualización

Este paso aplica la regla de transición a cada célula de sus intereses. Antes de abordar esta construcción, es importante abordar las dos capas de células muertas en la configuración principal. Estas células permiten el autómata ampliar si es necesario. Normalmente, un autómata celular en el juego de la vida de Conway se desarrolla en una red infinita; sin embargo, es más práctico representar esta red en un contenedor virtual finito (por ejemplo un vector). Este cambio exige una "capa del almacenador intermediario" de las células muertas para permitir la expansión de la autómata. Por lo tanto, debemos comprobar todas las celdas de la cuadrícula como la capa del almacenador intermediario más íntimos (Recuerde, consistiría en la capa del almacenador intermediario más externa de células cuyos barrios tienen cero células vivas, por lo que siguen siendo muertos y no deben considerarse). El encabezado de la función se asemejaría a lo siguiente (he llamado el updateVec de la función).

vector < vector > updateVec (vector < vector > red)

Esencialmente la función trabaja por crear un nuevo vector de 2 dimensiones y llenar las celdas con los valores correctos de las células actualizados de la red original. El segmento de código entero se asemejaría a lo siguiente.

vector < vector > updateVec (vector < vector > red)

{

int size=grid.size();

vector < vector > newgrid (tamaño, vector(tamaño));

c1 int = 1;

int c2 = 1;

mientras (c1

{

mientras (c2

{

int sum_neighborhood = red [c1 + 1] [c2] + parrilla [c1] [c2 + 1] + parrilla [c1 + 1] [c2 + 1] + parrilla [c1-1] [c2-1];

sum_neighborhood += grid [c1-1] [c2] + parrilla [c1] [c2-1] + parrilla [c1 + 1] [c2-1] + parrilla [c1-1] [c2 + 1];

Si (red [c1] [c2] == 0 & & sum_neighborhood == 3)

newgrid [c1] [c2] = 1;

else if (grid [c1] [c2] == 0 & & sum_neighborhood! = 3)

newgrid [c1] [c2] = 0;

else if (grid [c1] [c2] == 1 & &(sum_neighborhood==2|| sum_neighborhood == 3))

newgrid [c1] [c2] = 1;

else if (grid [c1] [c2] == 1 & & (sum_neighborhood! = 2 & & sum_neighborhood! = 3))

newgrid [c1] [c2] = 0;

C2 ++;

}

C2 = 1;

C1 ++;

}

volver newgrid;

}

Nota que la inicialización de sum_neighborhood tuvo lugar en dos líneas debido a limitaciones espaciales. La iteración comenzó en 1 y terminó antes de tamaño 2 para evitar perder el tiempo comprobando la capa del almacenador intermediario más externa.

Artículos Relacionados

Diseño de autómatas celulares para punto de Cruz del iPhone

Diseño de autómatas celulares para punto de Cruz del iPhone

aquí encontrará el diseño (y el código de fuente para él) que decidí para mi caso DIY iPhone 4, como así como algunos consejos y trucos sobre cómo hacer un proyecto limpio (y sin nudos) de punta de la aguja que se enfríen demasiado.FondoAlrededor de
Autómatas celulares (enlace a código incluido)

Autómatas celulares (enlace a código incluido)

he creado este código de Java para producir patrones 2D de autómatas celulares. Toma una regla número (0-255) y el número de iteración.Por ejemplo, el patrón en la imagen principal fue producido por introducir (126 50).Aquí hay un enlace a un archivo
Juego de carreras de autómatas de papercraft littleBits circuito

Juego de carreras de autómatas de papercraft littleBits circuito

Este instructable le mostrará cómo crear un juego con littleBits. El juego comenzará con un disparador de sonido. Cada jugador tendrá que pulsar un botón repetidamente. La primera persona en botón 25 veces gana. Zumbador sonará para poner fin a la ca
En los autómatas de mar

En los autómatas de mar

En este instructable, les mostraré cómo hacer un autómata de madera con un tema de "La Sirenita". Es un poco un proceso tedioso, pero al final, es totalmente la pena! Este autómata utiliza varias máquinas simples: un rueda y eje, un plano inclin
Diseño de autómatas

Diseño de autómatas

Autómatas modernos son manivela conducida mechancial esculturas que muestran a algún tipo de objeto en movimiento. El diseño de estas máquinas puede ser muy complejo y requiere de mucha experiencia. Sin embargo, con la ayuda de los programas de diseñ
Xilófono autómatas acorde

Xilófono autómatas acorde

vamos a conseguir listo para construir!Paso 1: Sus materialesPara el proyecto de hoy necesita:-acabado madera-2 1/4 pulgadas espigas de Cañas7-1/16 barra de pasador-1/2 pulgada de esferas de madera-Little Tikes xilófono-3 levas cortan por una caída (
Cabeza de autómatas peregrino 7000

Cabeza de autómatas peregrino 7000

Como dije antes: "Películas pueden ser una gran fuente de inspiración para nuestros proyectos".Bien... Yo sigo viendo películas, así que sigo inspirarme. Mejor dejar de ver películas... Siento ganas de hacer todo lo que veo! hehehLa película fue
Autómatas de movimiento ayuda a la Ense6anza

Autómatas de movimiento ayuda a la Ense6anza

Este es un proyecto de práctica de Control que he creado y GCSE DT sistemas. Se trata de una tarea de mi maestro ha fijado nuestra clase entera y en el que tenemos libertad para crear cosas para cumplir los requisitos.Lo siento por la falta de carga
El baterista loco autómatas

El baterista loco autómatas

Hola en este instructable voy a estar mostrando cómo construir un tambor loco autómatas.Materiales que necesitará:maderaPalillos de maderaPintura en aerosolLana de coloresHombrePipaTapa de plásticoTac de GluCintaPegamentoTornillosUñas de gel:Barra de
Fresco autómatas/Faux Steampunk inspirada caja CD

Fresco autómatas/Faux Steampunk inspirada caja CD

Una vez al año hacer algún contrato de trabajo para una empresa genial que crea "wow visual" para programas de auto nacionales e internacionales.  Cuando anunciaron que estaban contratando, decidí que necesitaba una manera creativa para entregar
El pianista con su gato - proyecto de autómatas

El pianista con su gato - proyecto de autómatas

Este año para el cumpleaños de mi esposa que quería hacerle un regalo especial que sería único y que representara bien sus intereses. Generalmente terminan consiguiendo sólo prácticos regalos, así que esta vez quería ser diferente. ¿Ha tomado recient
Autómatas de mono!

Autómatas de mono!

Este instructivo le guiará por el proceso de construcción de un conjunto de monos del autómata en el estilo de "No oír ningún mal, no ver ningún mal, no hablar ningún mal." Nuestro diseño se termina con dos monos reaccionando con sólo pulsar un
Autómata programable K'nex

Autómata programable K'nex

K'nex de un autómata con una trayectoria programable. Este diseño alterna fue concebido originalmente por Heron de Alejandría.No tengo suficiente cadena, así que sólo pude correr el programa corto que se muestra en el video.Paso 1: Construir la estru
Autómatas de Matty D

Autómatas de Matty D

insumos necesarios:madera de 9mmmadera de 3mmMáquina de la molineríaBal de tenisTaladroPegamento calienteCaja de cartónPelota de tenisPasador - por lo menos 3 piesPaso 1: Cortar la madera Cut 2 cams y 2 círculos de su gruesa madera con la fresadora.