Lab#11.
Autor : Adiel Palominos F.
Competencia : Aprendizaje autónomo.
Asignatura : Arquitectura de Hardware.
Palabras clave : Interprete, lenguaje, pygame, ctype.
Descripción de la Actividad.-
Usted deberá implementar un sistema interprete, el cual debe interpretar = ejecutar cada una de las sentencias = instrucciones, las cuales son de un nuevo lenguaje dado por el profesor, este no posee funcionalidad, por lo cual usted deberá dársela.
Solución.-
En primer lugar importamos pygame,
necesario para plasmar los comandos de una manera gráfica, esto ayudo a
verificar si el funcionamiento de nuestro intérprete estaba correcto, en
segundo y último lugar se importó ctypes,
necesario para crearle una estructura a nuestro robot.
Estas variables se inicializan en la parte superior de nuestro código,
una de ellas está encargada de dar el tamaño a nuestra ventana de pygame, la otra es para controlar la
ejecución del ciclo while de pygame.
Creamos una estructura para nuestro robot, estaba encargada de recibir
las posiciones nX e nY de las imágenes.
En esta función “readFile”, lo que hacemos es retornar
una matriz con los datos ya preparados para su posterior uso durante la
ejecución del programa.
Esta función como lo dice su nombre,
estaba encargada de actualizar la posición del robot, como el de pintarlo en el
mapa, los parámetros que recibe, primero “nR”,
este está encargado de recibir la rotación de nuestra imagen, y el otro “nD”, para mover nuestro robot, en esta
función controlamos los límites de nuestra pantalla, y de la misma manera el
control de los parámetros que este recibe.
Como su nombre lo dice, estaba
encargada de cargar las imágenes que usaría posteriormente nuestro programa.
Creamos una función encargada de dar inicialización a la ventana de pygame.
Como se puede observar esta es una parte de nuestro “Main principal”.
Primero definidos los parámetros con los cuales trabajara el nuestro
interprete, aquí se puede observar que es necesario que en nuestro archivo esté
presente el comando “BEG” (principio
archivo) y “END” (final archivo),
estos servirán para indicar él inicio y el termino de nuestra lista de
comandos, si estos están presentes en el la matriz “nInts”, se inicializara nuestro programa y sus complementos
necesarios, en caso que no estén presentes alguno de los comandos antes
mencionados lanzara un mensaje como el siguiente “Error al cargar las instrucciones”.
En este “Main”
también se encuentra el ciclo principal de pygame,
dentro de este se hacen los respectivos llamados a las funciones antes
explicadas, todo de acuerdo a los comandos que estén presentes en el archivo “demo.acs”.
Programa
en ejecución:
Tras haber realizado el trabajo se puede destacar que resulta sumamente útil para comprender y obtener conocimientos muy interesantes. ¿Por qué?, porque
tuvimos la posibilidad de idear una funcionalidad a un lenguaje que no la tenía.
Se trabajó con librerías que nos
permitían obtener los resultados de cada ejecución en modo gráfico. Además es importante
destacar, el uso de conocimientos obtenidos en el curso, estos fueron
de gran importancia para lograr el
óptimo resultado de este laboratorio, al haber trabajado con ellos en proyectos
anteriores se logró completar sin mayores problemas esta actividad.
Te invito a que compartas tus comentarios o consultas si requieres más información, o que profundice algún tema.








No hay comentarios:
Publicar un comentario