juntosdesdecasa / minecraft

Playing with Minecraft
Apache License 2.0
9 stars 3 forks source link

Refactorizar código en "src" para talleres medio/avanzados #32

Closed acs closed 4 years ago

acs commented 4 years ago

Una vez que tenemos claro que vamos a utilizar los notebooks de Jupyter para iniciación a la programación en Python con Minecraft, la idea es utilizar el código en "src" para crear ejemplos y bibliotecas de nivel medio/avanzado, que requieran de un IDE y que cubran la evolución de los que hayan aprendido ya la programación básica y Jupyter se les quede corto.

En "src" haremos programación orientada a objetos por ejemplo creando las clases Pyramid, House, Town, TownWalled y mostraremos los conceptos de bibliotecas, clases, objetos, herencia, composición y demás conceptos básicos en este tipo de programación.

Evitaría la programación imperativa, que se puede además cubrir en Jupyter, e intentaría incluso dar nociones de programación funcional.

acs commented 4 years ago

Y continuando con la idea, podemos ir creando una biblioteca que complemente a mcpi y que podamos usar en los notebook. Podemos llamarla mcpython. Y que todo gire entorno al objeto raíz McObject del que hereden el resto de objetos.

Este objecto tendrá una API básica como:

que será implementada por los objetos que vayamos incluyendo en nuestra biblioteca: Wall, Pyramid, Building, Cube, House, Town ...

acs commented 4 years ago

Comienza el refactor. Al final está quedando más limpio que la API inicial.

https://github.com/juntosdesdecasa/minecraft/pull/33

Una vez fijados estos primeros pasos, en breve podremos correr bastante.

acs commented 4 years ago

Hemos movido mcthings a nuevo repositorio: https://github.com/juntosdesdecasa/mcthings

Allí seguiré el desarrollo como proyecto independiente!