"En ciencias de la computación, intérprete o interpretador es un programa informático capaz de analizar y ejecutar otros programas, escritos en un lenguaje de alto nivel. Los intérpretes se diferencian de los compiladores en que mientras estos traducen un programa desde su descripción en un lenguaje de programación al código de máquina del sistema, los intérpretes sólo realizan la traducción a medida que sea necesaria, típicamente, instrucción por instrucción, y normalmente no guardan el resultado de dicha traducción."
Básicamente lo que aquí les traigo es un pequeño ejemplo de intérprete: SortyBot. Un pequeño robot que tiene la habilidad de poder tomar pelotas rojas con sus dos manos, y compararlas por su tamaño determinando cual es mayor. El robot se controla con un lenguaje de programación hecho a la medida (Y hecho a última hora xd) para que pueda hacer lo que más quiera. Desde rutinas de ordenamiento (Como "bubble-sort") hasta simples paseos de un lado al otro sin caerse. Sortybot además tiene una memoria de variables booleanas (hecho con los Flags ) multifuncionales.
Estas son todas las instrucciones posibles que se pueden usar para programar a SortyBot: MOVE [L|R] - Mueve al robot a la izquierda/derecha PICK [L|R] - Toma con la mano izquierda/derecha el objeto al frente DROP [L|R] - Deposita en el lugar, el objeto en la mano izquierda/derecha
STOP - Detiene la simulación de forma correcta.
COMPARE # - Si el objeto en la mano derecha es mayor al de la mano izquierda, salta # lineas adelante (Valor negativo salta hacia atrás). GOTO # - Salta directamente a la línea nº# (Empezando por 1) JUMP # - Salta # lineas adelante (Valor negativo salta hacia atrás).
SET # - Establece la variable booleana nº# a TRUE CLEAR # - Establece la variable booleana nº# a FALSE GET # - Si la variable booleana nº# es TRUE se saltea la línea siguiente.
OUT # - Si el robot está fuera de los límites, salta # lineas adelante (Valor negativo salta hacia atrás).
Este es un ejemplo de como se vería un programa para Sortybot, en este caso, un bubble-sort:
Código:
PICK L MOVE R OUT 14 PICK R COMPARE 7 DROP L MOVE L DROP R MOVE R SET 1 GOTO 1 DROP R MOVE L DROP L MOVE R GOTO 1 MOVE L DROP L GET 1 STOP CLEAR 1 MOVE L OUT 2 JUMP -2 MOVE R GOTO 1
Me inspiré un poco en lás máquinas de registro y en el lenguaje assembler que usábamos en los PICs para hacer el lenguaje de este bicho, igual no es la gran cosa
En fin, dénle una probadita, que hacerlo me tomó 3 o 4 horas de corrido pero no quiere decir que no me haya estrujado la cabeza para hacerlo funcionar xDD
Descargar: v06 - Ahora con control de variables naturales, y unos cuantos chiches más [Tienes que estar registrado y conectado para ver este vínculo]
Tema: Re: Sortybot - Un intérprete de lenguaje de programación básico Mar Jul 10, 2012 2:01 am
ZARPAAADOOOO Está re piola, tengo una idea de como conseguiste la manera de mover y ordenar pero a mi no me hubiera llevado 3 o 4 horas sino un par de pares largos jaja También me gustaron mucho los gestos y sonidos xP
Tema: Re: Sortybot - Un intérprete de lenguaje de programación básico Mar Jul 10, 2012 2:02 am
ohhhh , que interesante tu interprete elpatrix , se podria hacer muchas cosas con esto , se ve aplicable para otras cosas.... tenia una duda para que sirve la extension string parser , que veo que la utilizan para algo que quiero implementar en mi juego , pero ni idea de como usarla
Tema: Re: Sortybot - Un intérprete de lenguaje de programación básico Mar Jul 10, 2012 2:04 am
El string parser más que nada es ideal para poder subdividir un String en varios substrings separados por "delimitadores" (Como por ejemplo comas, corchetes, etcétera).
Yo lo usé con el newline$ como delimitador para poder reconocer los "renglones" en el código y así poder interpretarlos fácil
Además, pueden agregarle o quitarle la cantidad de pelotitas rojas que quieran, el bot siempre las encuentra siempre y cuando no hayan huecos
Estoy subiendo un videito, dicho sea de paso
PD: Subido
cocktail sort, bubble sort, encontrar mayor, y paseíto, en ese orden
Tema: Re: Sortybot - Un intérprete de lenguaje de programación básico Mar Jul 10, 2012 2:16 am
luckyer07 escribió:
nl_nl_n escribió:
Qué honda por que se subió 2 veces el mismo mensaje?!
puedes borrarlo tu mismo en la esquinita hay una equis ( " X " ) le das click y listo
De hecho no, una vez que alguien respondió al mensaje, ya no lo puedes borrar, salvo que tengas priviliegios de moderador
nl_nl_n escribió:
Te iba a preguntar... Eso está acomodado con eventos generales y flexibles? o sea, podrías poner dos pelotitas más y eso funcionaría?
Seh, es a prueba de todo, menos de código con errores xDD
Fijate que en el video lo hice con 4 pelotitas nomás, y no tuve que cambiar ningún evento Tranquilamente podrías ponerle 256 pelotitas, y el bicho continuaría su trabajo sin problemas.
Claro, te pudrís viendo como va y viene el cacharrito pero al menos funciona xDDD
Tema: Re: Sortybot - Un intérprete de lenguaje de programación básico Mar Jul 10, 2012 2:22 am
creo que tengo privilegios de moderador , anteayer borre un mensaje que me salto igual que nl_nl_n , que raro a mi me salio esa equis .......si que te gusta programar cosas dificiles elpatrix
Tema: Re: Sortybot - Un intérprete de lenguaje de programación básico Mar Jul 10, 2012 2:23 am
:O podrías convertirlo en protector de pantalla con una imagen y música de fondo elegibles!! RE PIOLA
Me voy a dormir
PD:
luckyer07 escribió:
creo que tengo privilegios de moderador , anteayer borre un mensaje que me salto igual que nl_nl_n , que raro a mi me salio esa equis .......si que te gusta programar cosas dificiles elpatrix
Tal vez lo alcanzaste a borrar antes de que respondieran
ErichZann Moderador
Reputación : 334Mensajes enviados : 1414Premios :
Tema: Re: Sortybot - Un intérprete de lenguaje de programación básico Mar Jul 10, 2012 2:57 am
Genial SortyBot, podría estar mirándolo horas y horas… +R
P/D: Borre el mensaje rebelde.
Zonacas Super-Moderador
Reputación : 558Mensajes enviados : 2871Premios :
Tema: Re: Sortybot - Un intérprete de lenguaje de programación básico Mar Jul 10, 2012 4:03 am
Muy interesante
tal vez se podría hacer que el robot después de la primera pasada sepa si ya hay pelotas rojas grandes ordenadas y que no tiene que volver a comprobarlas.
Tema: Re: Sortybot - Un intérprete de lenguaje de programación básico Mar Jul 10, 2012 10:25 am
Zonacas escribió:
tal vez se podría hacer que el robot después de la primera pasada sepa si ya hay pelotas rojas grandes ordenadas y que no tiene que volver a comprobarlas.
De hecho "ya se puede" con el sistema que hay, pero hay que inventarse un sistema de variables numericas con los flags, y toma bastante tiempo eso Aunque no estaría de más agregarle dos o tres variables enteras de uso genérico ---
Alguno tiene ganas de inventarse un programita para sortybot?
Yo quise implementar un gnome-sort pero me agarró mucho sueño y me fuí a dormir estoy trabajando en la proxima version, a ver si puedo implementar un ordenamiento más raro todavia como merge-sort o alguno de esos
Le agregué unos cuantos chiches como para que se entretengan viendo como ordena las pelotitas Hasta le agregué un cuadernito para que vaya anotando las variables Y un modo turbo, para que puedan ver mas de lejos como mueve todo