9 comentarios el “[Source+Bin] Motor para crear un videojuego en C++

  1. Me he bajado el código y madre mía; se nota que te has pegado un buen curro xD
    Mira que me gusta poco leer código ajeno por eso de que muchas veces me lío y al final no me entero de donde salen algunas cosas, pero es que tu motor se entiende perfectamente y se nota que has pillado buenos hábitos de programación; lo de usar const después de la definición de un método de una clase para indicar que no modifica nada, me ha parecido curioso, porque nunca se lo había visto a nadie xD

    Lo de usar el polimorfismo también me ha molado, porque me ha recordado lo pesada que se puso mi profesora de java con que si no usábamos polimorfismo en el proyecto final nos suspendía xD

    Y una cosa, por ejemplo éste método:

    int Component::getDrawOrder() const
    {
    return this->drawOrder;
    }

    Usas this para referirte a la variable miembro de la clase, y no al parámetro pasado al método, pero si no se le pasa ningún parámetro (como en este caso) no haría falta usarlo… Aunque no se si lo has puesto por algo, o no se. Hombre al menos viendo el this delante ya te haces una idea sin mirar parámetros que te refieres a la variable de la clase.

    Por lo demás me ha molado mucho tu motor. A ver si lo miro mas despacio que de momento solo he mirado las clases Component, Events y GameScreen xD

    • La mejor respuesta al blog en mucho tiempo. Gracias por la opinión xD (Aunque lo he tenido que rescatar de la carpeta de spam, que por tochazo lo ha catalogado así el blog xDDD)

      Sobre el this, pues se puede decir que ese método es una ‘propiedad’ de la clase (como en C# con el get y set) solo que aqui se hace manualmente, ya que no hay get y set, así que me hago ese método que devuelve la variable para su uso, manteniendo así las variables de la clase ocultas al resto, algo así como creando la interfaz con la que los demás objetos pueden interactuar con la clase, en vez de usar sus variables directamente. Supongo que es lo suyo

  2. Sisi, se para lo que sirve el this en estos casos xD. Pero lo que me ha parecido raro era que lo usaras en este caso, porque poniendo directamente:

    int Component::getDrawOrder() const
    {
    return drawOrder;
    }

    ya te lo haría bien. Aunque leyendo por internet, aquí por ejemplo:

    http://www.codersource.net/c/c-tutorials/c-tutorial-this-pointer.aspx

    y quedándonos con la frase del final:

    Thus, a member function can gain the access of data member by either using this pointer or not.

    pues supongo que da igual usarlo o no (en estos casos). Yo es que ya te digo, nunca lo ponía, aunque supongo que es un buen hábito ponerlo, como lo que haces poniendo const después de la definición de un método (que ya te digo, que me ha resultado mazo curioso xD).

    Pues a ver si subes más códigos fuentes, que me ha gustado verlo y mira me ha sacado de dos dudas que tenía xD

    Un saludo!

    (A ver si esta vez no me lo pilla como spam r_r”)

    • Bah, yo lo pongo y me curo en salud xDD

      Codigos fuentes hay a lo largo del blog, pero muchos son mazo blej y tal. Este es el primero serio que he hecho (aunque todo lo que hay dentro de la carpeta Game es una bazofia, código hecho en 10 min vaya xDD). En cambio la carpeta Engine está bastante depurado y pensado (decidir cosas antes de ponerse a escribir a lo loco).

      He repasado cantidad de C++ gracias a este ‘proyecto’, he utilizado por primera vez las clases en C++, y he ganado mucha agilidad con este lenguaje, espero que el próximo intento (cuando tenga tiempo, ahora mismo cuando tengo un resquicio de tiempo libre lo que hago es seguir leyendo y documentandome para mejorar en el lenguaje y aprender algoritmos y métodos de programacion, además de pensar en la próxima arquitectura del motor (el cual se empezará desde 0, no tiene nada que ver lo que tengo pensado xD). Solucionará todos los problemas que tiene este en cuanto a acceso de datos y encima será modular 100%, se puede quitar un modulo sin que afecte a otro (ni siquiera editar sus sources). Va a ser la leche, pero no puedo dar fecha, ya que se aproximan muchas tareas en mi horizonte >.<

      En fin, ya iré actualizando el blog con cosas chorras y mas tarde vendrá el motor pisando fuerte.

  3. Joder tío, no sé cómo lo haces pero siempre a mitad de proyecto te das cuenta que tienes que rehacerlo xDD

    Pero bueno, así te sirve para ir mejorando =)

  4. Yo ahora hace un mes comencé de 0 con ogre3D como creo haberte comentado en un post anterior. Me repasé tu engine una pasada, lo de polimorfismo nunca lo había escuchado, soy de Mallorca aquí en informática muchos hemos tenido la mala suerte del catalan obligado en una isla de España, me toco un catalanista cerrado y no pude pasar, por lo que me he tenido que espabilar con libros y tutoriales, mucho tiempo estube parado pero decidido a comenzar me encontré con tu blog, gracias por todo escribes muy bien me gusta mucho la manera que tienes de explicar y acepto consejos e ideas, cree el blog ogrebaleares donde voy a ir agregando mis avances. ¿Hay novedades con tu engine? sigues trabajando en él o lo tienes parado? si necesitas una mano dime cosas. Saludos desde la isla.

    • En contra de lo que pueden que te digan, la unica forma de aprender a programar es programando. No hay otro método.

      En cuanto a este engine, nunca tuve el pensamiento de continuarlo, por eso mismo liberé el source. Fue mas bien una prueba para ver oop avanzado en c++, así que nada, ahí lo dejo libre para el que lo quiera trastear

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s