miércoles, 14 de octubre de 2015

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:

















Reflexió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