0% ont trouvé ce document utile (0 vote)
7 vues7 pages

Programmation Minecraft avec Python

Le document présente une introduction à la programmation en Python à travers le jeu Minecraft, en expliquant des concepts tels que les API, les variables, les boucles, et les conditions. Il fournit également des exemples de code pour interagir avec Minecraft, comme créer des blocs et construire des structures. Enfin, des programmes spécifiques sont fournis pour illustrer la création d'une maison et d'un enclos dans le jeu.

Transféré par

YassineMersni
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
7 vues7 pages

Programmation Minecraft avec Python

Le document présente une introduction à la programmation en Python à travers le jeu Minecraft, en expliquant des concepts tels que les API, les variables, les boucles, et les conditions. Il fournit également des exemples de code pour interagir avec Minecraft, comme créer des blocs et construire des structures. Enfin, des programmes spécifiques sont fournis pour illustrer la création d'une maison et d'un enclos dans le jeu.

Transféré par

YassineMersni
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Option : Informatique et Création Numérique

Minecraft et Python Première S

API – Correspond à Application Programming Interface (« interface de programmation », en français). Une API
permet d’accéder en toute sécurité à certaines parties du programme d’une application depuis des programmes
personnels. En l’occurrence, c’est par l’API de Minecraft que l’on peut accéder au jeu dans des programmes Python
personnels.
Lignes nécessaires pour jouer dans Minecraft avec Python :
#import [Link] as minecraft // import le module minecraft pour python
mc = [Link]() // se connecter au jeu

Les variables :
Une variable est une zone de la mémoire dans laquelle une valeur est stockée. Aux yeux du
programmeur, cette variable est définie par un nom, alors que pour l'ordinateur, il s'agit en fait d'une
adresse (i.e. une zone particulière de la mémoire). En Python, la déclaration d'une variable et son
initialisation (c.-à-d. la première valeur que l'on va stocker dedans) se fait en même temps.

X=2 // déclaration de X en type integer (Nombre entier)


Y=2.0 // déclaration de Y en type float (nombre réel)
Z= « Bonjour » // déclaration de Z en String (Chaîne de caractères)

Fonction type().
Si vous ne vous souvenez plus du type d'une variable, utilisez la fonction type qui vous le
rappelle.

Afficher des messages :


[Link]("Voici mon message pour Minecrat") // fonction affichant un message dans Minecraft

print(("Voici mon message") // affiche le message dans la fenêtre SHELL Python

Afficher la position du joueur :

Page 1 sur 7
Option : Informatique et Création Numérique

Minecraft et Python Première S

pos = [Link]() // fonction qui donne les coordonées du joueur

print (pos.x) // afficher dans le SHELL la valeur de la coordonée x


print (pos.y) // afficher dans le SHELL la valeur de la coordonée y
print (pos.z) // afficher dans le SHELL la valeur de la coordonée z

Afficher x, y et z sur une même ligne :


print ("X= " + str(pos.x) + "Y= " + str(pos.y) + "Z= " + str(pos.z))

Indentation du code
Les fonctions Python n'ont pas de begin (début) ou end (fin) explicites, ni d'accolades qui pourraient
marquer là ou commence et ou se termine le code de la fonction. Le seul délimiteur est les deux points («:»)
et l'indentation du code lui-même.

Boucles while :
Une série d’instructions est exécutée tant qu’une condition est vraie. Par exemple :

while True: // condition toujours vraie


[Link](1)
pos = [Link]()
[Link](("X= " + str(pos.x) + "Y= " + str(pos.y) + "Z= " + str(pos.z))

Comparaisons
Python est capable d’effectuer toute une série de comparaisons entre le contenu de différentes
variables, telles que :
syntaxe Python signification

== égal à
!= différent de
> supérieur à
>= supérieur ou égal à
< inférieur à
<= inférieur ou égal à

Tests :
Les tests sont un élément essentiel à tout langage informatique si on veut lui donner un peu de
complexité car ils permettent à l’ordinateur de prendre des décisions si telle ou telle condition est vraie ou
fausse. Pour cela, Python utilise l’instruction if ainsi qu’une comparaison que nous avons abordée au chapitre
précédent.

Page 2 sur 7
Option : Informatique et Création Numérique

Minecraft et Python Première S

En voici un exemple :

Tests multiples :

Test avec deux conditions :

if a>5 and a<10: // tester si la variable a est comprise entre 5 et 10


print ("La variable a est comprise entre 5 et 10") //affiche message si test VRAI

if a<5 or a>10: // tester si la variable a n’est pas comprise entre 5 et 10


print ("La variable a n’est pas comprise entre 5 et 10")

Page 3 sur 7
Option : Informatique et Création Numérique

Minecraft et Python Première S

Créer des blocs dans Minecraft:

Créer un bloc en face du joueur, sur les bases de ses coordonnées:


[Link](pos.x + 3, pos.y, pos.z, [Link])

Construire avec une bloucle FOR:


La boucle FOR utilise une variable de comptage. Exemple avec la variable a :

for a in range(30):
[Link](pos.x + 3, pos.y + a, pos.z , [Link])

L’instruction range() vous permet de créer des listes d’entiers (et d’entiers uniquement) de manière
simple et rapide. Voyez plutôt :

Page 4 sur 7
Option : Informatique et Création Numérique

Minecraft et Python Première S

L’instruction range() fonctionne sur le modèle range([début,] fin[, pas]). Les arguments entre
crochets sont optionnels.

Construire plus vite avec "setBlocks":

L'instruction "setBlocks()" peut être utilisée pour attribuer le même ID à plusieurs blocs au
sein d'un espace rectangulaire tridimensionnel (3D).
L'instruction [Link]() s'exécutant sur l'espace en 3D, elle a besoin de deux séries de
coordonnées: celles de l'un des angles du parallélépipède et celles de son opposé.Chaque
coordonnée contient trois nombres donc il faut indiquer six nombres pour définir un espace 3D dans
Minecraft. Exemple :

[Link](pos.x, pos.y, pos.z,pos.x+50, pos.y+50, pos.z+50, [Link])

Saisir des données depuis le clavier:

On utilise l'instruction "raw_input()" pour demander à l'utilisateur de saisir des valeurs:

Exemple, la variable dimention prendra la valeur saisie par l’utilisateur :


dimentions = int(raw_input("dimentions de l'espace 3D ?"))

Page 5 sur 7
Option : Informatique et Création Numérique

Minecraft et Python Première S

EXEMPLES DE PROGRAMMES :
source : Apprendre à coder en PYTHON avec MINECRAFT édition Eyrolles

Construire une maison:

Programme Python « [Link] » :


import [Link] as minecraft
import [Link] as block

mc = [Link]()
DIMENTIONS= int(raw_input("dimentions de l'espace 3D ?"))
pos = [Link]()
x=pos.x+2
y=pos.y
z=pos.z
milieu_x=x+DIMENTIONS/2
milieu_y=y+DIMENTIONS/2
[Link](x, y, z, x+DIMENTIONS, y+DIMENTIONS, z+DIMENTIONS, [Link])
[Link](x+1, y+1, z+1, x+DIMENTIONS-2, y+DIMENTIONS-1, z+DIMENTIONS-2, [Link])
[Link](milieu_x-1, y, z , milieu_x+1, y+3, z, [Link])
[Link](x+3, y+DIMENTIONS-3, z, milieu_x-3, milieu_y+3, z, [Link])
[Link](milieu_x+3, y+DIMENTIONS-3, z, x+DIMENTIONS-3, milieu_y+3, z, [Link])
[Link](x, y+DIMENTIONS-1, z , x+DIMENTIONS, y+DIMENTIONS-1, z+DIMENTIONS, [Link])
[Link](x+1, y-1, z+1 , x+DIMENTIONS-2, y-1, z+DIMENTIONS-2, [Link],14)

Page 6 sur 7
Option : Informatique et Création Numérique

Minecraft et Python Première S

Jeux de l’enclos :

Programme Python « [Link] » :


# -*- coding: cp1252 -*-
import [Link] as minecraft
import time
mc = [Link]()

X1 = 32
Z1 = -58
X2 = 36
Z2 = -54
X_abri = X2+2
Y_abri = 10
Z_abri = Z2+2
Temps = 0
Temps_max = 20

while True:
[Link](1)
pos = [Link]()
print(pos.x,pos.y,pos.z)
if pos.x < X2 and pos.z< Z2 and pos.x > X1 and pos.z > Z1 :
Temps = Temps + 1
[Link]("Tu es dans l enclos depuis :" + str(Temps))
else:
Temps = 0
if Temps > Temps_max :
[Link]("Tu es trop lent")
[Link]( X_abri , Y_abri , Z_abri)

Page 7 sur 7

Vous aimerez peut-être aussi