Apprendre Python en s'amusant à Minecraft

Qui ne connait pas Minecraft ?
Vous ? mais sortez un peu quoi !

https://www.minecraft.net/fr-fr/

C'est un environnement 3D de construction et de jeux.
Il a été racheté par Microsoft mais la version Java initiale existe encore.

Vous pouvez avoir un launcher simple et efficace shiginimase_v4400.zip depuis https://teamshiginima.com/update/

Tutoriel : https://minecraft.gamepedia.com/Tutorials

Vous pouvez installer votre propre serveur. Je vous conseille Spigot
http://www.spigotmc.org/wiki/spigot-installation/

Ou bien jouer uniquement avec le Launcher tout seul ou en partageant votre monde et donc jouer en réseau local.

Le but ici est d'y associer Python afin de pouvoir apprendre à programmer tout en s'amusant à créer des formes, des constructions sous Minecraft.

Si vous voulez le faire sur le serveur Spigot, il faut ajouter le plugin :
https://www.spigotmc.org/resources/raspberryjuice.22724/
RaspberryJuice Version 1.12.1
A Bukkit plugin which implements the Minecraft Pi Socket API.

c'est bien expliqué ici : https://www.triptera.com.au/wordpress/2017/06/02/coderdojo-minecraft-with-python-setup/

Sinon, si installer un serveur Spigot est trop compliqué pour vous, vous pouvez simplement utilisez votre launcher comme un mini serveur mais il faudra le configurer en Forge et lui rajouter raspberryjammod et MCPI
c'est bien expliqué ici
https://www.instructables.com/id/Python-coding-for-Minecraft/
et ici
https://github.com/arpruss/raspberryjammod

pour des livres pdf
je vous conseille
Learn to Program with Minecraft

et
adventures-in-minecraft


il y a aussi plein de tutoriels en ligne
Ceux pour Raspberry Pi convient également.
Il y a un qui très simple et bien illustré : https://projects.raspberrypi.org/en/projects/getting-started-with-minecraft-pi/4
et pleins d'autres,
des références :
https://www.stuffaboutcode.com/p/minecraft-api-reference.html
et même des guides pour les profs :
https://education.minecraft.net/lessons/teach-python-with-minecraft-pi/

[Edit 20 mais 2020]
Je suis tombé ce matin sur une perle, les livres Essentiel de MagPi
https://magpi.raspberrypi.org/books
et là il y a comment s'amuser à Minecraft avec un très bon tutoriel :
 https://magpi.raspberrypi.org/books/essentials-minecraft-v1/pdf


Par la même occasion, il y a l'excellente introduction à PyGame :




Voici un petit exemple d'une pyramide que je viens de faire, avec 2 escaliers sur les côtés et une bougie en haut.
On apprend donc à utiliser des boucles et les coordonnées x, y, z (vision spatiale)
Attention c'est l'axe y qui est orienté vers le ciel, l'axe z est orienté vers le sud.

Exemple d'une pyramide, avec des escaliers



from mcpi.minecraft import *
import mcpi.block as block

mc = Minecraft.create("localhost")

pos = mc.player.getTilePos()
pos.y = pos.y + 1
M = 11
N = 21
for k in range(0, M):
    for i in range(k, N-k):
        for j in range(k, N-k):
            mc.setBlock(pos.x + j, pos.y+k, pos.z + i, block.SANDSTONE_CHISELED)
mc.setBlock(pos.x + N / 2, pos.y + M, pos.z + N / 2, block.TORCH)

for k in range(0, M):
    for i in range(k, N - k):
        mc.setBlock(pos.x - 1 + k, pos.y + k, pos.z + i, block.STAIRS_COBBLESTONE.id, 0)
        mc.setBlock(pos.x + N - k, pos.y + k, pos.z + i, block.STAIRS_COBBLESTONE.id, 1)


remarquez l'orientation des escaliers

avec

mc.setBlock(pos.x,pos.y,pos.zblock.STAIRS_COBBLESTONE.id,1)



Amusez vous et apprenez à programmer à vos enfants.
C'est le meilleur moyen de les préparer à une carrière radieuse.


Commentaires

Posts les plus consultés de ce blog

Position du Soleil et SalatTime pour Arduino

RTC, SalatTime et Arduino

Mod DJT FrSky pour Telemetry via Bluetooth / Android Phone