The True Boolean
The True Boolean
  • 12
  • 2 137
¡Aprende a Programar el Juego Snake en C++ con SDL! 🚀 (Tutorial Completo Paso a Paso)
¿Te gustaría crear el famoso y mítico juego del Snake con C++? Estás en el lugar correcto. En este vídeo aprenderás cómo hacerlo y tendrás el código accesible para ti.
Utilizaremos el framework SDL2 (Simple DirectMedia Layer) que nos permitirá interactuar con el sistema a bajo nivel y nos proporcionará herramientas tales como: abrir una ventana, manejar los eventos de teclado o crear un renderizador entre otros.
══════════════
📂 **Recursos:**
👉 Github del canal: github.com/AlejandroSuau/thetrueboolean
👉 Github del vídeo: github.com/AlejandroSuau/thetrueboolean/tree/main/21.07.2024-snake
👉 Página oficial de SDL: libsdl.org/
👉 Github de SDL: github.com/libsdl-org/SDL
👉 Github de SDL_Image: github.com/libsdl-org/SDL_image
══════════════
SÍGUEME EN REDES SOCIALES
👉🏻 Mi Instagram: the.true.boolean
══════════════
⌛ **Capítulos:**
00:00 Introducción
00:25 Class ScreenBoundary
01:07 Class Food
01:48 Class FoodFactory
02:46 Class Snake
05:24 Class SnakeGame
06:31 Resultado Final
══════════════
zhlédnutí: 120

Video

Cómo crear Flappy Bird con C++ y SDL - Fácil y Sencillo
zhlédnutí 168Před dnem
En este video, te explico cómo crear el famoso juego de Flappy Bird con C . Utilizaremos el framework SDL2 (Simple DirectMedia Layer) que nos permitirá interactuar con el sistema a bajo nivel y nos proporcionará herramientas tales como: abrir una ventana, manejar los eventos de teclado o crear un renderizador entre otros. ══════════════ ENLACES MENCIONADOS 👉 Github del canal: github.com/Alejand...
Cómo Crear Videojuegos en C++ - Paso a Paso - Parte 2
zhlédnutí 149Před 14 dny
En este video, te explico cómo dar el primer paso para desarrollar videojuegos con C desde 0; siendo este el segundo de una lista. De corazón, me hubiese encantado poder ver una serie de vídeos así cuando me preparaba las entrevistas para las empresas top de programación de videojuegos en C como: RockStar, Paradox Interactive, DECA Games o Activision Blizzard King entre otras; con la finalidad ...
Cómo Crear Videojuegos en C++ - Paso a Paso - Parte 1
zhlédnutí 380Před 21 dnem
En este video, te explico cómo dar el primer paso para desarrollar videojuegos con C desde 0; siendo este el primero de una lista. De corazón, me hubiese encantado poder ver una serie de vídeos así cuando me preparaba las entrevistas para las empresas top de programación de videojuegos en C como: RockStar, Paradox Interactive, DECA Games o Activision Blizzard King entre otras; con la finalidad ...
Cómo utilizar correctamente los condicionales if, else if, else y los switch
zhlédnutí 54Před měsícem
En este video, te explico cómo funcionan las estructuras de control de flujo en programación utilizando ejemplos prácticos en C . Aprenderás a manejar las condiciones en tu código de manera eficiente utilizando if, else if, else y switch. Además, también comprobarás cómo estas estructuras ya eran importantes y utilizadas por los primeros estoicos alrededor del 300 antes de cristo. ═════════════...
Cómo usar el Unit Testing con GTest y GMock para mejorar tus videojuegos
zhlédnutí 42Před měsícem
En este video, exploramos el mundo de las pruebas unitarias (unit tests) y cómo utilizarlas para mejorar la calidad del software. Te muestro cómo usar Google Test (gtest) y Google Mock (gmock) para crear pruebas efectivas en tus proyectos de programación. ══════════════ 👉 Github con el ejemplo: github.com/AlejandroSuau/thetrueboolean/tree/main/17.06.2024-unit-testing 👉 Github del canal: github....
Aprobé Física en la Universidad con 0 en todos los exámenes. ¿Cómo lo hice?
zhlédnutí 28Před měsícem
¿Cómo es posible aprobar una asignatura tan difícil como Física en la universidad si saqué 0 en todos los exámenes? En este vídeo, comparto mi historia personal y los pasos exactos que seguí para lograrlo. Te cuento todo lo que hice para pasar esta materia sin tener que repetirla. ¡No te pierdas estos consejos esenciales! Sígueme en mis redes sociales: Instagram: the.true.boolean
Entendiendo los Bucles en Programación: For, While y Do While con Ejemplos Reales y de Videojuegos
zhlédnutí 54Před měsícem
En este video, explico de manera sencilla qué son los bucles en programación y las diferencias entre un bucle for, while y do while. Acompáñame mientras te doy ejemplos prácticos de la vida real, como una lista de la compra, y ejemplos divertidos de videojuegos, como el famoso Flappy Bird. Ideal para principiantes en programación y desarrolladores que quieran reforzar sus conocimientos.
¿Qué es un autómata celular? ¿Tendrán la capacidad de gobernarnos?
zhlédnutí 78Před měsícem
¿Qué son los autómatas celulares? ¿Nos ayudan en nuestro día a día? ¿En qué consiste el juego de "Falling Sand"? ¿Y el de "The Game Of Life"? En este vídeo se pretende dar contestación a estas y otras preguntas sobre los autómatas celulares.
Cerca de la salvación con "The Rule Of Three"
zhlédnutí 126Před 8 měsíci
¿Por qué The Rule Of Three puede ayudarnos a sobrevivir en el desarrollo de C ? En español, conocida como "La Regla del Tres" o "La Regla de Los Tres" fue originada en C 98 para la prevención de bugs y debido a su importancia. Posteriormente, para otorgar compatibilidad con C , fue ampliada a "The Rule Of Five". Es, a día de hoy, un ente casi desconocido para muchos de nosotros como programador...

Komentáře

  • @DoloresRuizRodenas
    @DoloresRuizRodenas Před 9 dny

    Me gusta❤

  • @patcherandpatch
    @patcherandpatch Před 9 dny

    Hey Alejandro, ¿Podría hacer un vídeo haciendo el sonido como que bebes agua? Gracias

    • @The.TrueBoolean
      @The.TrueBoolean Před 9 dny

      @@patcherandpatch Hola! Creo que no te sigo mister. A qué te refieres? 😂

  • @xiscusmagnificus
    @xiscusmagnificus Před 11 dny

    No he entendido nada...

  • @horaciotena5114
    @horaciotena5114 Před 11 dny

    Soy el suscriptor #69! 🎉

  • @DoloresRuizRodenas
    @DoloresRuizRodenas Před 11 dny

    Muy guay❤

  • @user-lw7iu1xn6o
    @user-lw7iu1xn6o Před 15 dny

    😅😅😅😅😅😅

  • @dani08sv
    @dani08sv Před 17 dny

    No veo el porque cargar todas las texturas de una y al principio. Si juego tiene muchas texturas, vas a cargar todo al principio consumiendo memoria de manera innecesaria hasta que se usen las texturas, que igual ni se usan porque el usuario no va a cierto sitio o no ocurre nada que las utilice?

    • @The.TrueBoolean
      @The.TrueBoolean Před 17 dny

      Totalmente Dani. Si te fijas, estamos cargando los 3 sprites del pájaro que conforman la animación y que sí vamos a utilizar. Sin embargo, también te diré que cargar todos los assets al comienzo del juego puede tener ciertos beneficios y puede ser una estrategia a considerar. Entre ellos encontramos el de prevenir al usuario de tiempos de carga durante el propio juego, produciendo así una sensación más fluída.

    • @dani08sv
      @dani08sv Před 17 dny

      @@The.TrueBoolean Sí eso también esta bien y tiene sentido, es que lo que tengo me parece que requiere demasiada ram porque lo comparo con otros juegos y no me cuadra estar usando casi 300MB(de momento) y me da la sensación de estar haciéndolo mal😅.

  • @dani08sv
    @dani08sv Před 17 dny

    Me está siendo super útil y me esta viniendo bien repasar la base de como empezar un proyecto con SDL, lo que no veo es porque generar clases innecesarias como por ejemplo Engine. En el main() tengo lo que seria el engine directamente(Instancio la clase Game y tengo el bucle de run y voy llamando a las funciones Game.handleEvents, Game.update i Game.render) porque el ejecutable en si, ya considero que sea el propio engine. No acabo de ver el sentido de la clase Engine. Igual con los siguientes videos lo veo más.

    • @The.TrueBoolean
      @The.TrueBoolean Před 17 dny

      Me alegra leer eso Dani! 🙂 Es una muy buena pregunta, trato de responderte. En la programación, siempre hay cientos de caminos para lograr el mismo resultado, eso es lo "bonito", todos podemos ser creadores de nuestra propia solución. Sin embargo, cada camino que tomamos, nos ofrece unos beneficios y unas dificultades. En mi caso, he optado por abstraer los conceptos relacionados con el Engine y encapsularlos en esa clase: como el bucle principal, el manejo de eventos, la carga de texturas, etc. Así, cuando cree un juego, puedo mantener una referencia a esa clase y hacer uso de todas sus herramientas. Hacerlo así me permite tener un main.cpp simple, que únicamente se encargue de encender y comenzar el juego. Tú solución, es otro camino diferente que también te permite obtener lo que deseas. Sin embargo, presenta el inconveniente de no permitirte reutilizar la clase Engine, y hacer crecer el fichero main.cpp a medida que añadas funcionalidades a tu motor. Aunque quizás, es lo que necesitas y también está fantástico así 🙂. Estoy seguro de que en el vídeo del domingo, con el desarrollo del Flappy Bird, podrás ver más claramente a qué me refiero. ¿Mejor así? Abrazo

    • @dani08sv
      @dani08sv Před 17 dny

      @@The.TrueBoolean Sí, me imaginaba que era por eso. Otra cosa es el renderer que lo haces unique_ptr pero porque supongo que, viendo que va acabar siendo un flappy bird, vas a poder renderizar todo en el mismo sitio. Yo tengo el propio renderer dentro de cada objeto, con un diseño de que cada objeto se renderiza a si mismo en cadena(no se si por esto estoy teniendo bugs), primero tengo table.render(), luego dentro player1.render(), dentro tengo handCards.render() y luego acaba renderizandose cada carta ella misma. Lo que no me gusta que estoy arrastrando y pasando por todo el puntero al renderer y tambíen que tengo la logica y el renderizado en cada objeto, pero no se si el bug me puede estar viniendo por esto.

  • @sarasm0630
    @sarasm0630 Před 18 dny

    Me encantas 🤩

  • @DoloresRuizRodenas
    @DoloresRuizRodenas Před 19 dny

    😂

  • @dani08sv
    @dani08sv Před 22 dny

    Pues justo estoy haciendo mi proyecto de fin de grado con SDL para gráficos y asio nonboost para red. Es un juego de cartas muy simple pero la gracia es el tener que implementar los sistemas desde casi cero. Lo único malo es que ya me queda poco tiempo para entregarlo y justo empiezas la serie, pero bueno usaré lo que me de tiempo. Yo no estoy usando CMake porque me parece un coñazo y con el Visual Studio se hace todo este tema de gestionar las bibliotecas. De momento tengo un bug que a veces, cuando hago click en los botones se borra el fondo que renderizo como una textura. Lo único que se me ocurre es algo de la memoria que a veces toca con la del fondo.png o algo, pero no he conseguido debuggar esto, no veo una manera clara ni estandard de debugar en c++

    • @The.TrueBoolean
      @The.TrueBoolean Před 21 dnem

      Hola Dani! Mucho ánimo entonces. Confío en que estarás disfrutando de crearlo casi desde cero. Estoy de acuerdo con lo que comentas, cuando lo tiene que hacer uno mismo, CMake es un coñazo. Sin embargo, a mí parecer, tiene 2 ventajas para el que ve los vídeos (que es lo importante para mí): - La primera y para mí más relevante es que, con CMake y las librerías de SDL ya compiladas, puedo hacer que funcione directamente en tu ordenador, mientras que si utilizamos Visual Studio como comentas (además de que debes tener Windows como sistema operativo, o correr una máquina virtual) sólo podría explicar cómo se hace y sería tarea vuestra hacer que funcionara. Bastante más complejo a mi parecer. Aunque es una opinión. - La segunda es que no tienes que instalar nada en tu sistema operativo ni modificar las variables de entorno. Así, si mañana te cansas, borras el repositorio y tu sistema queda limpio. En cuanto a debuggear, es posible que utilizando puntos de interrupción en la función que gestiona tu click y seguir la traza a través de él, te pueda ayudar. Un punto de interrupción, siempre es una manera estándar válida para debuggear "todos" los lenguajes :-D. Abrazote. Nos vamos viendo.

  • @clarabujeda
    @clarabujeda Před 22 dny

    Yo odiando apple....

    • @clarabujeda
      @clarabujeda Před 22 dny

      Amo Linux xd

    • @The.TrueBoolean
      @The.TrueBoolean Před 22 dny

      @@clarabujeda Hola Clara! Vaya … yo que te iba a decir que estabas de suerte porque en la 2a parte del vídeo que sale el domingo, había añadido la compilación para Windows … jeje Aunque acabo de leer tu comentario sobre Linux 😂.

    • @The.TrueBoolean
      @The.TrueBoolean Před 22 dny

      Le echaré un vistazo, a ver cómo podemos añadirlo :-)!

    • @clarabujeda
      @clarabujeda Před 22 dny

      @@The.TrueBoolean Wow Muchas gracias. Sinceramente eres muy atento. Normalmente los creadores de contenido no suelen leer los comentarios :3. Usualmente la gente no suele tener apple debido a sus excesivos precios por ello el comment y como humana humilde que soy no tengo jajaja. Sinceramente pienso que windows no esta mal pero para desarrollar ya que es el sistema mas usado, pero como vengo del sector de servicios (Servidores y sistemas que normalmente solo lo ves en la shell) pues usualmente uso linux que simplemente puedes hacer lo que quieras con el. Por eso lo amo. Además que es el sistema con mas herramientas para C y C++.

    • @The.TrueBoolean
      @The.TrueBoolean Před 21 dnem

      Gracias a ti Clara, por tu tiempo. Entiendo que cuando se tiene un gran volumen de comentarios, pueden ser complejos de gestionar. Entiendo lo que dices porque yo también usaba Linux cuando desarrollaba juegos para las máquinas de Casino. Abrazote! Nos vamos viendo por aquí!

  • @iv4n9f
    @iv4n9f Před 23 dny

    Muchas gracias , se agradece una explicacion de este estilo , en vez de tener que depender siempre de los motores existentes. Espero los siguientes videos.

    • @The.TrueBoolean
      @The.TrueBoolean Před 23 dny

      @@iv4n9f Te lo agradezco Ivan, y estoy totalmente de acuerdo. Poder hacer algo con tus manos es … mágico. Estate pendiente porque pronto crearemos el Flappy Bird! Abrazo.

  • @t0niii7_
    @t0niii7_ Před měsícem

    Con estos videos en 2 meses me hago el nuevo Elden Ring🤩🤩

  • @DoloresRuizRodenas
    @DoloresRuizRodenas Před měsícem

    Muy bien😂

  • @AdrianLuis-gs3nu
    @AdrianLuis-gs3nu Před měsícem

    Soy Arnau de Nau

  • @AdrianLuis-gs3nu
    @AdrianLuis-gs3nu Před měsícem

    Soy Arnau de Nau

  • @AdrianLuis-gs3nu
    @AdrianLuis-gs3nu Před měsícem

    Soy Arnau de Nau

  • @AdrianLuis-gs3nu
    @AdrianLuis-gs3nu Před měsícem

    Soy Arnau el de Nau

  • @QuitandoCaretas
    @QuitandoCaretas Před měsícem

    Olé! se me hacia complicado entender con claridad los bucles, aunque eso era antes de ver el video. Enhorabuena por la Master Class y gracias!

  • @HVManager
    @HVManager Před měsícem

    Muy bien explicado

  • @xiscusmagnificus
    @xiscusmagnificus Před měsícem

    Un tema muy interesante!

  • @QuitandoCaretas
    @QuitandoCaretas Před měsícem

    Muy buen contenido!! 🔝🔝

  • @QuitandoCaretas
    @QuitandoCaretas Před 7 měsíci

    Muy buena explicación! Sigue con más videos así!

  • @xiscusmagnificus
    @xiscusmagnificus Před rokem

    Enhorabuena por la explicación, ahora sí que lo entiendo.