...

Résumé

Et si tu programmais en t’amusant ?

Cet ouvrage s’adresse à tous les jeunes qui aiment jouer à Minecraft et qui souhaitent s’initier à la programmation pour aller plus loin. Et quitte à découvrir le code, autant s’initier à Python, un langage puissant, facile à assimiler et amusant.

En programmant dans Minecraft, tu pourras rendre tes aventures encore plus passionnantes, originales et personnelles. Tu détourneras en outre des éléments du jeu pour les faire agir de façon totalement inédite, voire en inventer de nouveaux auxquels même les créateurs du jeu n’avaient pas songé.

Au fil de ta lecture, tu verras entre autres comment :

écrire des programmes en Python sur ton Mac, PC ou Raspberry Pi ;

...

Martin O’Hanlon

...

© 2014, 2017 John Wiley and Sons, Ltd.

All Rights Reserved. Authorised translation from the English language edition published by John Wiley & Sons Limited. Responsibility for the accuracy of the translation rests solely with Groupe Eyrolles and is not the responsibility of John Wiley & Sons Limited. No part of this book may be reproduced in any form without the written permission of the original copyright holder John Wiley & Sons Limited.

Traduction autorisée de l’ouvrage en langue anglaise intitulé Adventures in Minecraft, 2nd Edition par David Whale et Martin O’Hanlon (ISBN 978-1-119-43958-5), publié par John Wiley & Sons.

Traduit et adapté de l’anglais par Lara El Keilany.

...

À ma femme Léonie. Sans toi, tout cela n’existerait pas.

Martin

À mes parents, Jan et Alf, qui m’ont transmis le goût d’apprendre.

David

À propos des auteurs

Martin O’Hanlon a consacré sa carrière à la conception et à la programmation de systèmes informatiques. Sa passion pour la programmation et l’enseignement l’ont amené à créer le blog <Stuff about="code" /> (www.stuffaboutcode.com...

Remerciements

Nombreux sont ceux qui participent à la publication d’un livre. Bien qu’ils soient trop nombreux ici pour les citer tous, nous tenions tout de même à remercier les personnes suivantes.

•Tout le personnel de Mojang, pour avoir conçu ce formidable jeu, pour leur génie et leur savoir-faire qui ont permis de rendre ce jeu programmable. Sans leurs connaissances, ce livre n’aurait simplement pas vu le jour.

•La Fondation Raspberry Pi et toute la communauté open source, sans qui Raspberry Pi et le serveur Bukkit n’existeraient pas. Ces deux plates-formes sont indispensables, car elles ont permis d’écrire ce livre pour le grand public.

•...

Avant-propos

Je suis enseignant et ce qui m’intéresse avant tout c’est l’apprentissage et l’implication de mes élèves. Quand j’enseigne la programmation avec Minecraft, par exemple dans le cadre des rencontres Raspberry Jam ou de mes cours de programmation en Python, les élèves se montrent toujours très intéressés, ce qui est moins le cas quand j’utilise d’autres méthodes. De même, lorsque l’on entame la partie théorique ou que l’on étudie d’autres techniques de programmation, il y a toujours un élève pour me rappeler : « Monsieur, quand est-ce qu’on continue à coder dans Minecraft ? ». Ainsi, dès que Minecraft fait son entrée, la programmation prend tout son sens.

Minecraft a le pouvoir de captiver les enfants comme aucun jeu auparavant. Sa simplicité lui confère un attrait universel qui les fascine tous, à l’instar des jeux où il faut construire des structures avec des blocs. Lorsqu’on enseigne de nouvelles connaissances aux enfants à l’aide de Minecraft, que ce soit en classe, à la bibliothèque ou en atelier, ces derniers sont tout ouïe. Comme Minecraft pousse les enfants à participer et à s’intéresser aux savoirs qu’on leur enseigne, utiliser ce jeu en classe peut s’avérer très instructif, pour le professeur comme pour les élèves.

Si Minecraft est un outil d’apprentissage si efficace, c’est parce qu’il permet de visualiser les résultats instantanément, que ce soit sous la forme d’une maison, d’une tortue en 3D, d’une ville entière ou d’une station spatiale internationale. Après tout, Minecraft est un jeu de type « bac à sable », ce qui veut dire que tout est possible, même dans la version gratuite pour Raspberry Pi.

En utilisant Minecraft comme terrain de jeu, les élèves réalisent des structures faciles à mémoriser qui leur fournissent de bons exercices pour valider les acquis et réviser les concepts appris en cours. Par exemple, lorsque j’aborde une leçon sur les tableaux à deux dimensions, je rappelle souvent à mes élèves la fois où nous avons créé des murs aléatoires de 32 blocs par 32.

Dans l’école où j’enseigne, dans le district du North Warwickshire, au Royaume-Uni, nous avons 10 exemplaires de l’ouvrage Apprendre à coder avec Minecraft. Nous les utilisons pour aider les élèves à travailler sur des projets en toute autonomie après leur avoir distribué de simples feuilles d’exercices. Par exemple, si un jour nous apprenons aux élèves à créer un arc-en-ciel avec les déplacements de leurs joueurs, ils pourront très bien, une fois l’exercice terminé, continuer à s’entraîner en créant une maison ou un mini jeu à l’aide du livre. Ce qui est génial dans cet ouvrage, c’est que l’on peut choisir un chapitre au hasard et le suivre à son rythme ou le lire du début à la fin, de façon linéaire. Pour ma part, je me suis aperçu que la plupart des exercices que je crée proviennent souvent des idées de David et de Martin. Ce livre est capable de faire aimer la programmation à n’importe qui, quel que soit l’âge, car il offre aux enseignants, aux parents, mais surtout aux enfants des bases à partir desquelles ils peuvent construire.

L’apprentissage ne se limite pas à la salle de classe, loin de là ! Plusieurs communautés mordues de Minecraft existent dans le monde, comme le Code Club...

Introduction

ES-TU UN aventurier ? Aimes-tu essayer et apprendre de nouvelles choses ? Es-tu un fan invétéré de Minecraft ? Souhaites-tu repousser les limites de ta connaissance de ce jeu en apprenant à programmer ? Veux-tu épater tes amis par ta créativité et tes tours de magie ? Si ta réponse est un « oui » sonnant et trébuchant, alors ce livre est fait pour toi.

Minecraft, qu’est-ce que c’est ?

Minecraft est un jeu indépendant de type bac à sable dans lequel tu peux bâtir des structures, recueillir des éléments, partir à la recherche de minerais et combattre des monstres pour survivre. Il t’apparaît sous la forme d’un monde virtuel en 3D fait de différents types de blocs et dans lequel chaque bloc a sa propre place au sein du maillage 3D. La figure I-1 montre à quoi ressemble le monde de Minecraft.

...

Chapitre 1

Bonjour le monde de Minecraft

DANS CE LIVRE, tu vas apprendre à rédiger des programmes qui interagiront avec ton monde Minecraft et te permettront de réaliser des choses passionnantes. Pour cela, tu utiliseras un langage de programmation appelé Python. La possibilité de diriger le monde de Minecraft à l’aide d’un programme Python était tout d’abord réservée à la version Pi de Minecraft pour les ordinateurs Raspberry Pi. Si tu n’as pas de Raspberry Pi, mais que tu joues à Minecraft sur un ordinateur Windows ou Mac, alors pas de panique ! Tu auras juste à réaliser quelques paramétrages avant de commencer, ce que nous t’expliquerons en temps voulu.

Python...

Chapitre 2

Détecter les déplacements de ton joueur

LORSQUE TU JOUES à Minecraft, tu découvres un monde que d’autres personnes ont conçu pour toi. Ce monde est amusant, mais il le serait bien plus encore si tu pouvais l’influencer à ta manière. Minecraft est fait pour ça. Le jeu t’offre l’environnement de programmation idéal pour laisser libre cours à ton imagination débordante et inventer des choses incroyables grâce au langage Python. Ce chapitre va te montrer comment profiter de cet environnement pour concevoir des choses amusantes en utilisant Python.

L’une d’elles consistera à créer un jeu dans le jeu, Minecraft étant l’univers que tu influenceras grâce à ton programme. En progressant, tu verras que la plupart des programmes Minecraft se composent de trois éléments principaux qui les rendent particulièrement amusants et captivants, à savoir : détecter des éléments du monde, par exemple la position de ton joueur, calculer des opérations, comme les résultats d’un jeu, et animer des choses, telles que les déplacements de ton joueur.

Dans ce chapitre, tu verras comment localiser ton joueur dans le monde et provoquer des actions de jeu en fonction de tes mouvements. Dans le jeu « Bienvenue à la maison », tu apprendras à créer un paillasson magique qui te souhaitera la bienvenue lorsque tu marcheras dessus. Nous t’initierons aussi à la technique du géorepérage en utilisant les blocs barrières de Minecraft. Et le jeu que tu vas créer te mettra au défi de récupérer des objets plus rapidement que tes amis. Enfin, tu apprendras à propulser ton joueur dans les airs si celui-ci reste bloqué dans un enclos trop longtemps !

Un programme est une série d’instructions que tu rédiges dans un langage informatique spécifique et que l’ordinateur respecte à la lettre. Les instructions varient selon le langage de programmation et tu dois t’assurer de les écrire correctement. Dans ce livre, nous utilisons le langage Python.

...

Chapitre 3

Automatiser tes constructions

IL N’Y A RIEN de plus amusant que de construire des structures dans Minecraft. Tu peux construire presque tout ce dont tu rêves. Tes seules limites sont celles du jeu Minecraft lui-même et de ta propre imagination. Tu peux ajouter des maisons, des châteaux, des rivières souterraines, des hôtels à plusieurs étages avec piscines et même des villes entières ! Mais construire des objets complexes avec plusieurs types de blocs peut prendre un temps fou et te demander beaucoup de travail, notamment si cela implique des répétitions. Alors, pourquoi ne pas essayer d’automatiser certaines tâches ? Rien de tel pour épater une fois de plus tes amis.

Le langage Python est idéal pour automatiser des tâches complexes. Dans ce chapitre, tu apprendras quelques tours de passe-passe qui te permettront de construire automatiquement un grand nombre de blocs dans Minecraft. Puis tu répéteras l’opération en introduisant des boucles dans ton code, afin de bâtir d’immenses structures comme des rues entières bordées de maisons (voir la figure 3-1). Tes amis seront d’autant plus impressionnés de parcourir tes allées de maisons qu’ils voudront à tout prix connaître ton secret ! Tu apprendras également à exécuter des commandes directement depuis ton clavier, ce qui te permettra de réutiliser des programmes autant de fois que tu le voudras sans toucher au code !

FIGURE 3-1 Une maison construite à partir de blocs Minecraft

Créer des blocs

Dans Minecraft, chaque type de bloc dispose de sa propre valeur de données. Si tu as déjà joué à Minecraft, tu dois probablement en connaître quelques-uns. Mais l’interface de programmation de Minecraft te permet de désigner les blocs par leur nom plutôt que par leur valeur de données, ce qui te facilite grandement la tâche. En fait, ces noms sont des constantes – notion que nous avons abordée dans le chapitre 2 – auxquelles on a attribué les valeurs de données des types de blocs. Pour connaître la liste des types de blocs les plus courants, leurs noms et leurs valeurs de données, consulte l’annexe B dans la partie réservée aux références.

Le...

Chapitre 6

Construire des structures en 2D et en 3D

L’UN DES PLUS grands avantages de la programmation dans Minecraft, c’est qu’en plus de pouvoir visualiser tes créations sur un écran 2D, tu peux aussi leur donner vie en les construisant dans un monde en 3D. Tu peux t’amuser à courir autour, à les voir de l’intérieur, à les agrandir et même à les faire exploser ! En récupérant les idées que tu as utilisées pour afficher des objets en 3D sur un écran en 2D, tu peux concevoir des objets en 3D dans Minecraft et faire des miracles !

Dans ce chapitre, tu apprendras à utiliser le module minecraftstuff pour tracer des lignes et des formes en 2D. Avec un peu de mathématiques, ces dernières te permettront de programmer une horloge si grande que tu pourras poser ton joueur sur ses aiguilles en mouvement (voir la figure 6-1). Une fois que tu seras passé maître dans l’art de créer des formes en 2D, tu apprendras...

...

Pour suivre toutes les nouveautés numériques du Groupe Eyrolles, retrouvez-nous sur Twitter et Facebook

...