compudanzas/src/bouncer-2d_prototipo.gmo

44 lines
2.6 KiB
Plaintext

# bouncer2d-8x6 computadora de mesa (prototipo)
lang=es en->{bouncer-2d prototype}
computadora de mesa con pantalla monocromática de 8x6: no electrónica, a escala humana, y muy lenta. un experimento de {cómputo frijol}.
siguiendo unas reglas simples, puedes colaborar con ella para computar y mostrar la animación de una pelota rebotando en las paredes de la pantalla, un cuado a la vez.
=> ./img/secuencia_bounce2d-8x6-0a3.gif secuencia de cuatro cuadros que muestra dos tableros de papel con frijoles negros y blancos sobre ellos: el tablero de la izquierda tiene las celdas de procesamiento y el tablero de la derecha se ve como una pantalla compuesta de frijoles blancos excepto por uno, que parece que se mueve desde la esquina superior izquierda hacia abajo y a la derecha.
# descargas
=> https://ipfs.io/ipfs/QmfQwdoc68dPXnGTspTiWu8xjpCLGUaH7YYFUmx84YUtwS/ bouncer2d-8x6 lista para ser impresa (pdf)
# estructura
como podrás ver, la computadora consiste en dos páginas, ambas con celdas impresas.
podemos verla como dividida en cuatro secciones.
primera página:
* fila superior: estado actual de la máquina, codificado
* bloque de enmedio: celdas de procesamiento
* fila inferior: estado siguiente de la máquina, codificado
segunda página:
* pantalla monocromática de 8x6 pixeles/celdas
# modo de uso:
* antes que nada, elige dos clases de elementos múltiples que tengas, A y B (por ejemplo, A="frijoles" y B="garbanzos)
* cada celda solo puede tener uno de esos elementos en un momento dado
## para la fila superior (estado actual)
* si esta es la primera iteración, coloca en esta fila una combinación arbitraria de elementos (por ejemplo, todas las celdas con garbanzos en ellas)
* de no ser así, cuando termines una iteración y estés lista para empezar una nueva, transfiere los elementos de la fila inferior (estado siguiente) hacia la superior, manteniendo el mismo orden. así, el "estado siguiente" se convierte en el "estado actual"
## para las demás celdas
* observa las celdas de la computadora: cada una tiene su nombre hasta arriba, y una lista de 1 a 3 nombres que corresponden a sus "entradas".
* en cada celda, acuérdate y aplica la regla: coloca un elemento de tipo A en su interior solamente cuando todas sus entradas son de tipo B. en cualquier otro caso, coloca un elemento de tipo B.
* por ejemplo, regresando a los frijoles y garbanzos: "coloca un frijol en la celda cuando todas sus entradas tienen garbanzos. si no es así, coloca un garbanzo"
* cuando termines de iterar en todas las celdas, habrás completado un cuadro de la animación. ¡captúralo de alguna manera para que lo compares con los que sigan!