CC47 Informe Participacion 202002 Programacion I 20201 A963 PDF

Title CC47 Informe Participacion 202002 Programacion I 20201 A963
Author Andy Jack Del Aguila Villanueva
Course Programación 1
Institution Universidad Peruana de Ciencias Aplicadas
Pages 5
File Size 138.2 KB
File Type PDF
Total Downloads 429
Total Views 919

Summary

Universidad Peruana de Ciencias AplicadasCompetencia de Pensamiento CríticoCURSO DE PROGRAMACIÓN I – CCCarrera de Ingeniería de SoftwareSección: WV1BAlumno:U20201AAndy Jack Del Aguila VillanuevaNoviembre 2020CONTENIDO Introducción Descripción del trabajo Información base Contexto del trabajo Postura...


Description

Universidad Peruana de Ciencias Aplicadas

Competencia de Pensamiento Crítico CURSO DE PROGRAMACIÓN I – CC47 Carrera de Ingeniería de Software Sección: WV1B Alumno: U20201A963 Andy Jack Del Aguila Villanueva

Noviembre 2020

CONTENIDO

1. 2. 3. 4. 5.

Introducción Descripción del trabajo Información base Contexto del trabajo Postura

1. INTRODUCCIÓN Escriba una introducción referente al trabajo final desarrollado. Este debe contener lo siguiente: descripción del planteamiento, cuál es el diseño de la propuesta, cuál es la estructura del desarrollo de la propuesta. Explique la metodología de trabajo empleado para desarrollar la solución El desarrollo del videojuego basado en las damas chinas, tenia como objetivo utilizar todo el conocimiento adquirido en este curso. El proyecto fue planteado de la siguiente manera: primero de grafico el mapa del tablero con matrices, luego se implementó las mecánicas de juego como el mover ficha, luego se trabajo la parte de interfaces del juego como el menú principal, las reglas, y la interfaz de juego, por último, de implemento la configuración de teclado para poder movernos por el juego. En resumen, optamos por un diseño algo arcade y muy sencillo así el jugador pueda orientarse con mayor facilidad. 2. DESCRIPCIÓN DEL TRABAJO Debe describir el problema e identificar los elementos que forman parte del problema. Señale los supuestos (un supuesto es un dato asumido como cierto a efectos de la planificación de su proyecto) que consideró para la solución del problema explicándolos. El primer problema era el movimiento de las fichas, en el juego las fichas tienen mas de 4 direcciones y en el teclado solo hay 4 flechas. El segundo desafío era la superposición de las fichas, en el juego las fichas saltan por encima de la otra haciendo que se desplace mayor distancia, pero el de nosotros ocupaba el mismo espacio haciendo un bug en el juego. El tercer problema era como seleccionar la ficha que se desea mover, puesto a que decidimos no usar las flechas en ningún momento. Como cuarto problema teníamos la función de determinar ganador, porque al validar la cantidad de fichas que se encontraba en la esquina opuesta, el contador se acumulaba en cada turno, haciendo que gane con 3 fichas en pocos turnos sin tener todas las fichas en determinado lugar. Como ultimo problema teníamos los limites del mapa, las fichas por determinados bugs salían del mapa haciendo que el juego este defectuoso.

3. INFORMACIÓN BASE Interprete toda la información necesaria para el desarrollo de su solución. Analice y explique cómo asocia los conceptos revisados en el curso en la solución propuesta. Describa las restricciones y validaciones necesarias para el desarrollo de la solución. Presente el diagrama de módulos planteado con una descripción de los principales módulos.

En el primer problema optamos por asignar valores numéricos a los movimientos de las fichas, haciendo uso de la función mov_j1 que consistían en determinar el valor del teclado en ascii y dependiendo lo presionado la ficha se desplazara de acuerdo con lo establecido, este concepto lo usamos del tema que aprendimos en clase donde reconocíamos las teclas con la librería conio.h. En el segundo problema decidimos estudiar un poco de colisiones, y llegamos a la conclusión de usar un mapa técnico, el mapa técnico consiste en tener los mismos valores que el mapa original pero la diferencia es que esos valores pueden ser modificados en el transcurso del juego, así solucionamos mas bugs con una sola modificación, para efectuar esto usamos arreglos donde se guardan las fichas de cada uno de los jugadores y struct para guardar las coordenadas y múltiples datos más, luego a esas fichas le asignábamos un color, dependiendo el color se imprimían en el mapa técnico y en mapa principal, luego usamos múltiples funciones para las validaciones y múltiples casos , como el salto múltiple o solo salto simple, analizamos y estudiamos juntos cada uno de los problemas y lo programamos, esto lo relacionamos con la clase de struct y de arreglos unidimensionales. En el tercer problema usamos una interfaz donde podías seleccionar la ficha porque el mismo juego ubicaba por medio de las coordenadas guardadas en los arreglos que se encontraba en el estruct de cada jugador, de esta forma se ahorra el estar moviendo un cursor, porque era tedioso estar moviendo el cursor para seleccionar una ficha y luego tratar de mover una ficha que se encuentra en el otro lado del tablero se desperdicia tiempo. El tema relacionado a la solución es el struct y arreglos. En el cuarto problema lo solucionamos con el anterior ya mencionado mapa técnico que permite establecer valores modificable, así también valores constantes, valores que siempre serán los mismos, esto se conseguía definiendo cada valor del mapa en el header de tablero.h, para luego usar una función que constaba de un que validaba las fichas que se encontraban en la esquina opuesta y se reiniciaba cada turno, haciendo que él bucle recuente las fichas y así no se acumule los valores, este tema lo relacionamos con el tema de header y definiciones, que aprendimos en los talleres y el tema de condicionales y bucles.

4. CONTEXTO DEL TRABAJO Evalúe la propuesta planteada considerando los elementos empleados para su desarrollo. Evalúe la herramienta utilizada en la solución, presentando dos aspectos a favor y dos en contra de la elección de dicha herramienta. Propone el empleo de otras tecnologías o herramientas para la solución, justificando su propuesta. Cada una de las soluciones propuestas están verificadas y testeadas múltiples veces para eliminar la mayor cantidad de bug posibles, añadimos algunas

funciones mas para poder optimizar el código así también mejorar la experiencia del jugador, unas de las tecnologías utilizadas es el setcursor que nos permitía colocar los caracteres donde nosotros deseábamos, con esto podíamos mejorar el aspecto visual del juego, otra tecnología usada es la console que nos permitía modificar la consola a nuestro gusto y muchas cosas más, por ultimo utilizamos ctime librería que nos permitía dar valore aleatorios dependiendo de la fecha y hora. 5. POSTURA Justifique la solución propuesta al problema considerando la información recopilada a lo largo del curso que ha utilizado. Sustente los resultados obtenidos describiendo las principales dificultades que encontró durante el diseño e implementación de su propuesta de solución del problema. La primera solución la tomamos por que no nos convence la alternativa de usar el pad numérico, porque no todas las laptops la tienen, y descartamos el uso de las flechas porque eso solo te permite desplazarte en los 4 sentidos menos en los diagonales, la segunda solución nos pareció mas optimo usar el mapa técnico , porque así podíamos arreglas varios bugs en uno solo, solo era cuestión de agregar funciones dependiendo de el problema, no usamos otros porque extendía el código , a demás de que nos agregaba mas errores a otras funciones, en el tercero escogimos una interfaz porque así es más rápido la selección de fichas, y no necesitas mover ningún puntero , porque la misma función usaba las coordenadas para localizarlas fichas , solo necesitabas desplazarte por el tablero de forma vertical, y en la ultima reutilizamos el mapa técnico para determinar los ganadores, porque así reducíamos el código y las fallas....


Similar Free PDFs