Ya se que puede parecer una tontería. Pero tengo esa duda. He visto que cuando se crea una clase en pilas engine, se pone el método def iniciar() en vez de def init() ¿No hubiera sido aconsejable respetar la estructura la Python? Para luego no llevar a confusión.
Tampoco sé, si en pilas engine se puede trabajar con clases mas profundamente. Es decir, incluir los métodos especiales como el mencionado init, str, len, etc…Y si acepta la sobrecarga de operadores. Por los ejemplos que veo en los tutoriales, se crean clases muy básicas. Entiendo que debe de ser así, ya que es un motor diseñado para aprender fácilmente programación orientada a objetos. Pero la duda es esa, si podemos aprovechar toda la potencia de las clases de Python o en pilas engine, estas, están mas limitadas.
Sin duda es interesante este tema, ya que se está planteando la profundidad y complejidad a la que puede llegar Pilas-Engine en un entorno Python.
Que conste que es mi opinión personal, como usuario novel de Python y Pilas-Engine que soy (a penas llevo un año en ambos).
Yo pienso que Pilas-Engine da herramientas muy buenas a personas que, como yo, tenemos poca base en programación. Con un pequeño curso de Python (por Youtube) y dedicando unas pocas horas a estudiar Pilas-Engine fuí capaz de crear mi primer juego en modo gráfico. Y creo que es a personas como yo (con pocos o nulos conocimientos de programación) a las que Pilas-Engine va dirigido.
Sin duda si tu nivel de Python es avanzado puedes usar todos esos métodos de los que hablas en Pilas-Engine, nada te lo impide e incluso mejorarás tu código para hacerlo más funcional y elegante!
Pero si tu nivel, como en mi caso, es limitado, se agradece mucho todo el trabajo hecho por Hugo y su equipo, haciendo mucho más entendedor (y en castellano) métodos como “iniciar” en vez “init” o “pilas.azar” en vez de “randomize”.
También hay que tener en cuenta que Pilas-Engine está pensado para que personas (incluso niños o jóvenes) con ganas de aprender a programar puedan dar sus primeros pasos, y así, una vez se hayan iniciado, busquen información por su cuenta y profundicen en los diversos lenguajes de programación… Por tanto no es (o no quiere ser) tanto una herramienta “compleja” de desarrollo, sinó más bien una herramienta sencilla de usar, amena, amigable y fácil de entender.
Pero como ya he dicho al principio esa es mi opinión, o al menos es tal como yo lo veo… Quizás abramos con este post un debate de como deberia ser Pilas-Engine, o hacia donde creemos cada uno de nosotros que deberia evolucionar!
Siguiendo con el tema, creo, que pilas engine se podría implementar como un modulo mas de Python. Osea, como hace Pygame. E intentando muchas veces hacerlo funcionar con mi editor y no habido manera. Y eso que he visto algunos vides de Hugo explicando como hacerlo. Suelo usar como editores el Geany o Wing IDE.
Sobre el tema de las clases (y sin mirar en profundidad todo el manual de pilas engine) veo que se crea una clase y dentro de ellas nuestros métodos. Pero esos métodos nuevos que creamos deben usar atributos y métodos de pilas engine. Por ejemplo: self.rotacion, self.saludar(), self.espejado, etc…
La cosa esta en saber si hay suficientes atributos y metodos de la API de pilas engine para crear un juego potente (Ojo, no me refiero a algo profesional).
Por ejemplo, el Pygame contiene muchos módulos. Y dentro de ellos, clases con muchas métodos y atributos. Supongo que cualquier juego que se haga con pilas engine se puede hacer en Pygame. Pero la duda es si se puede hacer a la inversa.
Supongo que esto los sabrán los usuarios que hayan creado juegos con este modulo. No me refiero a crear los métodos del propio usuario (que pueden ser infinitos), si no si les faltaron esos atributos o métodos que trae por defecto el motor.