Youssef Abarca
Nestor Ruben Rodriguez Caro
Leandro Ariel Labiano Ramo
¡Felicidades! Lograste terminar el primer curso de c++, para terminar te invito a que hagas el siguiente ejercicio:
En nuestra clase anterior pusimos una condición de ganar, pero para que el nuestro sea más emocionante tienes que crear enemigos y múltiples pisos de laberinto, ¿Como vas a hacer esto? (Si no quieres spoilers e intentarlo por ti mismo puedes ir ya a hacerlo):
Para empezar tenemos que crear una clase base, puede ser llamada Enemy, esta clase tiene que tener su posición en x, y como el jugador.
Después de dibujar el jugador tenemos que llamar la función de dibujado de una (O varias) instancias de Enemy, podemos aprovechar el dibujado para llamar una función que tenga un comportamiento llamada Move().
Para tener diferentes tipos de movimientos podemos crear nuevas clases derivadas de Enemy ya sean moviéndose en un patrón( izquierda derecha arriba abajo) u otros patrones al azar, para esto se puede usar la función rand.
Si en algún momento las coordenadas de un enemigo son las mismas que el jugador tienen que dibujar una pantalla de Game Over y terminar el programa.
Ya que tenemos nuestros enemigos tenemos que cambiar un poco el comportamiento de nuestro tesoro, cuando lo tomamos por primera vez en lugar de dibujar la pantalla de laberinto vamos a cambiar nuestro piso actual (almacenando esta información en una variable en gamemap.h) y dibujar el juego con el nuevo mapa.
Pueden nombrar sus archivos “LaberintoPiso1.txt”, “LaberintoPiso2.txt” y checar con una condición cual es el piso y cargar el archivo adecuado, (recuerden reiniciar la posición del jugador).
Al pasar X número de pisos (Generalmente 3 esta bien) pueden dibujar la pantalla de victoria.
Youssef Abarca
Nestor Ruben Rodriguez Caro
Leandro Ariel Labiano Ramo
Karina Romero
Javier Rodríguez Navarrete
Arnoldo Alvarez
Carlos Nassif Trejo Garcia
Eduardo Sebastián Sandoval Jiménez
GERARDO EMMANUEL ALONSO CELIS
David Lara
Gabriel Nicolás Perero
CRISTIAN BARBERO PÉREZ
Adan Natanael Segura Galicia
José Luis Mendez
Camila Lozada
Oscar Jaramillo
Fabian Chagua Martin
Wilson Erik Ramírez Franco
Steve Aragon
Juan Camilo Alvarez Jurado
Guillermo Granado Garcia
Jesus Daniel Martinez Bautista
Alejandro Jesús Morales Marcos
Carlos Nassif Trejo Garcia
Alejandro Jesús Morales Marcos
jesus caldarello
Alvaro Espinosa
Listo. Creo que se ve bastante bien, pero hay cosas que quisiera mejorar.
Enlace: aquí
good job!
Esta tremendo!
Reto aquí, saludos
¿como lo corro?
Magnifico curso. Aqui esta mi Proyecto final:
Explosive mines Game in C++ Features del Juego ETC Explosive:
Se ve bien!!!
Ya que tengo mi programa completo en codeblocks, ¿cómo obtengo el archivo ejecutable (.exe) para poder usarlo en cualquier máquina?
cuando le pones "play" compila el código y genera el ejecutable, ese ejecutable queda en la raíz del proyecto
Bueno... Terminado mi proyecto. Quería hacerlo por mi cuenta y resultó un poco diferente a las indicaciones que se dan. Solo tiene 2 niveles y añadí eventos en lugar de enemigos, PERO estos eventos se generan aleatoriamente para que cada partida que se juegue sea diferente a la anterior y cada evento tiene diferentes resultados según las decisiones que tome el jugador (y alguna que otra cosa). También cuenta con varios resultados finales dependiendo de como se haya jugado (y la suerte). También añadí colores para darle un aspecto un poco diferente y un menú que se controla con las flechas de dirección en lugar de apretar números.
Dejo el repositorio:
También les dejo una captura del segundo mapa
Solo agregué dos mapas porque con los eventos y el texto de los eventos se hacía muy largo el juego y ya que es un juego rejugable decidí hacerlo corto.
PD: hay un final que sale solo si se consigue un Score de +3000. Teóricamente es posible pero yo no lo he conseguido...
Ahí va mi código, incluyendo 3 mapas, aumentando el número de enemigos en cada uno. Aunque éstos no se mueven.
Logre todo lo pedido pero no quedo como quería. Aun se puede mejorar :) https://github.com/AdanG75/juego_consola/tree/master
Muy bueno!!!!!!!
Hola Fredy!!, equipo Platzi
Sugiero la creación de un nuevo curso después del curso de programación en C++, que considero serían de gran valor para la comunidad. Propongo desarrollar un curso sobre MetaTrader que abarque los lenguajes de programación MQL4 y MQL5. Este curso permitiría a los usuarios de plataformas de trading crear y vender robots de trading, así como aprender sobre el funcionamiento de estas plataformas incluyendo guías detalladas sobre MQL4, MQL5 y el uso práctico de la plataforma MetaTrader. Finalmente, el curso podría integrarse con el contenido existente sobre trading en Platzi.
Además, propongo la creación de un curso dedicado al desarrollo de estrategias en plataformas como NinjaTrader o TradingView, lo cual sería de gran beneficio para quienes desean profundizar en la creación y aplicación de estrategias de trading automatizado
Excelente!!!
Hay curso de c++ en POO
Excelente curso, seguiré tu consejo y voy a leer un poco sobre el libro que sitas y seguiremos adelante, espero compartirlo pronto!
Trabajando en ello!!
¡Realizado! Estuvo retador, pero fue divertido hacerlo. ¡Gracias por el curso! Me ha motivado a seguir las carreras de videojuegos :D
Aquí mi resultado final: https://github.com/jcalvarezj/practice/tree/master/C%2B%2B/basicGame
Estuvo complicado porque si tuve que investigar un poco para lograr algunas cosillas (porque a veces tiene su truco... y le manejé una lógica muy mía), pero al final se logró y se aprendió mucho más.
Me encanta que en los cursos se establezcan estos retos tipo proyecto.
Ok, ¡hora del examen y de seguir aprendiendo!
Buenas, Dejo aquí el link al repositorio de mi proyecto final
Necesito consejo sobre cómo inicializar el usuario a la posición 1,1 cuándo el programa carga el nuevo nivel, sólo consigo que aparezca en el nuevo nivel en la misma posición en la que abandonó el anterior.
Crea una funcion en player que se llama setXY donde reciba 2 enteros, a esos se los asignas al x y y del jugador.
En el mapa, en el constructor o al pasar de nivel, mandalo a llamar y asignale las coordenadas que desees
Lo he intentado, pero no consigo desligar la función userInput de Player del bucle del juego. He conseguido ponerle momentáneamente las coordenadas (1,1), pero se vuelve a ejecutar userInput y le vuelve a pasar la coordenada que tenía previamente guardada cuándo abandonó al nivel, así que a efectos prácticos sólo consigo empezar un nuevo nivel en la posición en que abandoné el anterior.
Excelente curso
Excelente curso, felicitaciones a todos los participantes.