Lo intenté pero no le veo mucho uso práctico por ahora ¿tal vez no es programación genética lo que hice?
No le puse interfase así que para usarlo mejor (modificarlo a voluntad) se requiere Flash (el editor de archivos fla). Actualmente genera 5*5 dibujos (hojitas) en la pantalla, cada uno de 10*10 cuadraditos, pero eso se puede cambiar, el código está en el frame 1:
DibujosPorFila = 5;
CuadraditosPorFila = 10;
Si cambian eso y ponen Probar película, ya está.
Los colores actuales son blanco, negro, azul y la separación entre los dibujos es verde, todo fácimente modificable también, pero ese código está en la película Cuadros:
PosiblesColores = [0xFFFFFF, 0x0000FF, 0x000000];
Se pueden modificar o agregar. Si quisieran muchísimos colores o todos entonces tendrían que hacer varios cambios, pero es que no lo hice con la intención de que pudiera haber tantos porque es más bien para generar sprites y suelen tener pocos.
Cuando hacen clic a un dibujo, los demás dibujos quedan como él excepto por un cuadradito, que es el mutado. Puede haber algún error en el proceso (el código está en el botón que hay en la película Botón) pero el resultado según veo es correcto (en algún caso me pareció que en algún dibujo la imagen no mutó), sólo que, como di a entender, no me parece tan útil como esperaba, es decir, la idea es que uno elija el dibujo que más le guste, se generan parecidos, reelige, y así, pero como los iniciales son tan sin sentido y sólo se va modificando de 1 cuadradito, el resultado es... dibujos sin sentido, demasiado similares como para ver rápido las diferencias, y parece que da igual cual se elija entonces, o uno quiere que se pinte cierto punto pero en tal caso conviene dibujar a mano.
¿Es posible mejorarlo? ¿cómo?
Algunas ideas que no he aplicado, y difícil que lo haga porque no creo que cambie mucho:
- Que en vez de variar sólo 1 cuadradito, varíe por ejemplo (CuadraditosPorFila) cuadraditos, es decir, si CuadraditosPorFila es 10 entonces los dibujos tienen 100 cuadraditos, de los cuales variarán 10.
Es que no le veo mucho sentido, si el dibujo elegido es el que más gusta ¿entonces por qué variarlo tanto? Ahora se me ocurre que en un dibujo se varíe 1, en otro 2, etc, eso podría ser...
- Que los dibujos tengan todos los colores especificados.
Que si dices que los posibles sean 9, en los dibujos siempre haya 9. Cuando se dice los colores posibles en realidad se está diciendo los que ha de tener el sprite, ni más ni menos, así que tiene sentido para mí.
- Evitar que lo producido en uno se produzca en otro.
También, aunque si tienen muchos cuadraditos y colores es poco probable que se produzcan iguales.
- Evitar que se produzcan dibujos antes producidos.
Sí pero bastante difícil de aplicar, al menos para mí, no le veo sentido a intentarlo por ahora.
- Posibilidad de que los dibujos no sean de X*X cuadraditos, sino de X*Y.
Es decir que puedan ser rectangulares en vez de siempre cuadrados. Puede ser útil si se quiere dibujos rectangulares porque sino es probable que lo que sería fondo tuviese cuadraditos que lo harían parecer otra cosa, ruido, pero no me convence del todo... Los dibujos rectangulares se pueden hacer en hojas cuadradas si son más grandes...
- Hacer que una imagen tomada de otro lado aparezca en cada dibujo.
En realidad esto sería otra cosa, un modificador random de imágenes, luego programación genética. Para esto, en vez de pintarse X*X cuadraditos (lo cual taparía la imagen), se insertaría 1 en el dibujo 1, 2 en el 2, etc, de colores al azar según los especificados, y cuando se cliqueé un dibujo eso se transmitiría a los demás, y mutarían. Un modo más fácil es que todos los cuadraditos estén en modo invisible, excepto los que fueron "insertados".
No sé si en algo hecho en Flash se puede pegar una imagen o especificar que se cargue una, un archivo, pero se puede poner en el editor y listo.
En fin, puede que intente algo de eso pero lo que haré es que los dibujos pue, ah, no, es un sin sentido >__< había pensado esto:
Citar
Tal vez debería intentar un generador así:
Dibujo1 Dibujo2 Dibujo3
Dibujo4 Dibujo5 Dibujo6
Dibujo7 Dibujo8 Dibujo9
Donde al cliquear uno se llevaría hacia el centro y en los demás se pintaría un cuadradito hacia esa dirección, por ejemplo en el Dibujo4 se pintaría el cuadradito izquierdo. Si no se gusta el color del que se quiere, se podría presionar el del medio y sería como repetir el proceso.
Eso sólo tiene sentido si los dibujos tienen 3*3 cuadraditos, o si fuesen de 5*5 y hubiera 25 dibujos, en el dibujo 1 se modificaría el cuadradito 1, en el 2 el 2, etc, m... en definitiva sirve sólo si la cantidad de dibujos es igual o mayor a la de cuadraditos por fila^2, ah, entonces sí puede servir. m... Nah, ya no le veo utilidad a la idea tampoco, sólo sirve para saber fácil qué cuadradito se modificó, pero eso es poco útil a menos que se busque que se modifique en cierto lugar pero en tal caso conviene modificarlo manualmente.Dibujo1 Dibujo2 Dibujo3
Dibujo4 Dibujo5 Dibujo6
Dibujo7 Dibujo8 Dibujo9
Donde al cliquear uno se llevaría hacia el centro y en los demás se pintaría un cuadradito hacia esa dirección, por ejemplo en el Dibujo4 se pintaría el cuadradito izquierdo. Si no se gusta el color del que se quiere, se podría presionar el del medio y sería como repetir el proceso.
En fin ¿ideas? Por ahora intentaré el modificador de imágenes.