Documente Academic
Documente Profesional
Documente Cultură
David Weinachter
PYTHON
pour les Cahier dactivits
Apprends coder en Python en tamusant !
Avec le livre que tu tiens entre les mains, tu vas apprendre coder ton propre
jeu vido en Python, lun des langages de dveloppement les plus populaires
du monde. Pas dinquitude : aucun savoir-faire pralable nest demand.
Si cest ta premire exprience au sein du monde magique des dveloppeurs,
pas de panique : tout te sera expliqu de faon dtaille et, en cas de besoin,
PYTHON
pour les
les diffrentes solutions te seront prsentes au fur et mesure. Tu trouveras
dans cet ouvrage six chapitres de difficult croissante pour crer ton premier
jeu vido. Et tu vas mme pouvoir inventer et cacher tes propres codes de triche
Lauteur Apprends
David Weinachter est un ingnieur informatique qui a toujours t passionn par la program-
mation : cest pour transmettre sa passion ses enfants quil a cr Kidscod.in, la premire
coder
mthode en ligne pour apprendre aux enfants coder en toute autonomie, ds quils en tamusant !
commencent savoir lire. Convaincu quon apprend mieux en samusant, David sattache
faire dcouvrir le code aux enfants via des histoires interactives ou des jeux vido crer.
Frdric Pain
Project
SCRATCH
pour les
Apprends
La programmation explique aux enfants
Lapprentissage de la programmation ouvre aux enfants un monde de cra-
programmer
tivit et, terme, demplois dans notre socit toujours plus numrique. en tamusant !
Pars laventure avec Scratch !
pour les
Cest dans cette optique qua t conu Scratch, un logiciel libre et gratuit
Grce ce cahier dactivits, apprends programmer avec Scratch en visitant
SCRATCH pour les KIDS
qui initie les 8-12 ans linformatique en les invitant crer leurs propres
le parc amricain de Yellowstone et ses environs. Suis Tom et Lila sur les traces
jeux et animations. Dapproche trs visuelle, fonctionnant par assemblage
des animaux sauvages, observe les geysers du parc, participe la course du
de briques de couleur, cet outil ducatif a dj sduit des millions de
Cahier dactivits SCRATCH pour les KIDS
grand pow-wow annuel des Indiens Crows et dcouvre les terribles preuves
dbutants en programmation dans le monde. Scratch existe en version
des pionniers en route vers lOuest. Dcoup en cinq tapes de difficult
franaise, tlchargeable ou en ligne, pour Mac, PC et Linux.
croissante, ce livre dtaille pas pas la ralisation des programmes et des
Mlant code, jeux et bande dessine, ce livre ludique et accessible explique animations, en sappuyant sur les ressources numriques disponibles sur
aux enfants les bases de la programmation (variables, boucles, tests...) avec Internet. conseiller pour tous partir de 8 ans.
Ds 8 ans
laide de Scratch. Ils seront amens raliser diffrents projets, inspirs des
Enseignant chercheur en physique luniversit Paris-Sud Orsay, Frdric Pain sintresse
classiques jeux darcade, afin de dvelopper leurs aptitudes raisonner,
depuis plusieurs annes lapprentissage de la programmation informatique pour les
innover et travailler en quipe. Rdig par The LEAD Project, une associa-
plus jeunes. Dans ce cadre, il anime des ateliers autour de Scratch et dArduino dans
tion encourageant lducation par la technologie, cet ouvrage constitue une
des classes de primaire et de collge.
premire tape idale pour le programmeur en devenir.
ISBN : 978-2-212-14332-4
Apprends
Code diteur : G14332
12 E
Tlcharge les ressources du livre (fichiers sources, jeux, bonus).
Project
Apprends
La programmation explique aux enfants
Lapprentissage
tivit et, terme,
dedemplois
la programmation
dans notre
ouvre
socit
aux enfants
toujours
unplus
monde
numrique.
de cra-
programmer
Cest
qui initie
dansles
cette
8-12optique
ans linformatique
qua t conu
enScratch,
les invitant
un logiciel
crerlibre
leursetpropres
gratuit
en tamusant !
SCRATCH pour les KIDS
jeux
de briques
et animations.
de couleur,
Dapproche
cet outil
trs
ducatif
visuelle,a fonctionnant
dj sduit des
par assemblage
millions de
dbutants
franaise, tlchargeable
en programmation
ou en dans
ligne,le
pour
monde.
Mac, PC
Scratch
et Linux.
existe en version
Mlant
aux enfants
code,les
jeux
bases
et bande
de la programmation
dessine, ce livre
(variables,
ludique etboucles,
accessible
tests...)
explique
avec
laide
classiques
de Scratch.
jeux darcade,
Ils serontafin
amens
de dvelopper
raliser diff
leurs
rents
aptitudes
projets, inspirs
raisonner,
des
innover et travailler en quipe. Rdig par The LEAD Project, une associa-
tion
premire
encourageant
tape idale
lducation
pour le par
programmeur
la technologie,
en devenir.
cet ouvrage constitue une
ISBN : 978-2-212-14111-5
15,90
qui sadresse ce livre ?
Code diteur : G14111
ISBN : 978-2-212-14218-1
Sur www.editions-eyrolles.com/go/scratch
Code diteur : G14218
15,90
Code diteur : G14111
David Weinachter
PYTHON
pour les Cahier dactivits
Apprends coder en Python en tamusant !
Avec le livre que tu tiens entre les mains, tu vas apprendre coder ton propre
jeu vido en Python, lun des langages de dveloppement les plus populaires
du monde. Pas dinquitude : aucun savoir-faire pralable nest demand.
Si cest ta premire exprience au sein du monde magique des dveloppeurs,
pas de panique : tout te sera expliqu de faon dtaille et, en cas de besoin,
PYTHON
pour les
les diffrentes solutions te seront prsentes au fur et mesure. Tu trouveras
dans cet ouvrage six chapitres de difficult croissante pour crer ton premier
jeu vido. Et tu vas mme pouvoir inventer et cacher tes propres codes de triche
Lauteur Apprends
David Weinachter est un ingnieur informatique qui a toujours t passionn par la program-
mation : cest pour transmettre sa passion ses enfants quil a cr Kidscod.in, la premire
coder
mthode en ligne pour apprendre aux enfants coder en toute autonomie, ds quils en tamusant !
commencent savoir lire. Convaincu quon apprend mieux en samusant, David sattache
faire dcouvrir le code aux enfants via des histoires interactives ou des jeux vido crer.
Frdric Pain
Project
SCRATCH
pour les
Apprends
La programmation explique aux enfants
Lapprentissage de la programmation ouvre aux enfants un monde de cra-
programmer
tivit et, terme, demplois dans notre socit toujours plus numrique. en tamusant !
Pars laventure avec Scratch !
pour les
Cest dans cette optique qua t conu Scratch, un logiciel libre et gratuit
Grce ce cahier dactivits, apprends programmer avec Scratch en visitant
SCRATCH pour les KIDS
qui initie les 8-12 ans linformatique en les invitant crer leurs propres
le parc amricain de Yellowstone et ses environs. Suis Tom et Lila sur les traces
jeux et animations. Dapproche trs visuelle, fonctionnant par assemblage
des animaux sauvages, observe les geysers du parc, participe la course du
de briques de couleur, cet outil ducatif a dj sduit des millions de
Cahier dactivits SCRATCH pour les KIDS
grand pow-wow annuel des Indiens Crows et dcouvre les terribles preuves
dbutants en programmation dans le monde. Scratch existe en version
des pionniers en route vers lOuest. Dcoup en cinq tapes de difficult
franaise, tlchargeable ou en ligne, pour Mac, PC et Linux.
croissante, ce livre dtaille pas pas la ralisation des programmes et des
Mlant code, jeux et bande dessine, ce livre ludique et accessible explique animations, en sappuyant sur les ressources numriques disponibles sur
aux enfants les bases de la programmation (variables, boucles, tests...) avec Internet. conseiller pour tous partir de 8 ans.
Ds 8 ans
laide de Scratch. Ils seront amens raliser diffrents projets, inspirs des
Enseignant chercheur en physique luniversit Paris-Sud Orsay, Frdric Pain sintresse
classiques jeux darcade, afin de dvelopper leurs aptitudes raisonner,
depuis plusieurs annes lapprentissage de la programmation informatique pour les
innover et travailler en quipe. Rdig par The LEAD Project, une associa-
plus jeunes. Dans ce cadre, il anime des ateliers autour de Scratch et dArduino dans
tion encourageant lducation par la technologie, cet ouvrage constitue une
des classes de primaire et de collge.
premire tape idale pour le programmeur en devenir.
Apprends
La programmation explique aux enfants
Lapprentissage
tivit et, terme,
dedemplois
la programmation
dans notre
ouvre
socit
aux enfants
toujours
unplus
monde
numrique.
de cra-
programmer
qui
Cestinitie
dansles
cette
8-12optique
ans linformatique
qua t conu
enScratch,
les invitant
un logiciel
crerlibre
leursetpropres
gratuit
en tamusant !
SCRATCH pour les KIDS
jeux
de briques
et animations.
de couleur,
Dapproche
cet outil
trs
ducatif
visuelle,a fonctionnant
dj sduit des
par assemblage
millions de
dbutants
franaise, tlchargeable
en programmation
ou en dans
ligne,le
pour
monde.
Mac, PC
Scratch
et Linux.
existe en version
aux
Mlant
enfants
code,les
jeux
bases
et bande
de la programmation
dessine, ce livre
(variables,
ludique etboucles,
accessible
tests...)
explique
avec
classiques
laide de Scratch.
jeux darcade,
Ils serontafin
amens
de dvelopper
raliser diff
leurs
rents
aptitudes
projets, inspirs
raisonner,
des
innover et travailler en quipe. Rdig par The LEAD Project, une associa-
premire
tion encourageant
tape idale
lducation
pour le par
programmeur
la technologie,
en devenir.
cet ouvrage constitue une
ISBN : 978-2-212-14111-5
15,90
qui sadresse ce livre ?
Code diteur : G14111
ISBN : 978-2-212-14218-1
Sur www.editions-eyrolles.com/go/scratch
Code diteur : G14218
15,90
Code diteur : G14111
Cahier dactivits
PYTHON
pour les
Je vous aime
En application de la loi du 11 mars 1957, il est interdit de reproduire intgralement ou partiellement le prsent
ouvrage, sur quelque support que ce soit, sans autorisation de lditeur ou du Centre franais dexploitation
du droit de copie, 20, rue des Grands-Augustins, 75006 Paris.
Chapitre 1
Apprendre faire bouger untank.............................................. 9
Cration de ton compte........................................................................................................................................... 10
Environnement de dveloppement................................................................................................................ 10
Et le langage Python dans tout a?.............................................................................................................. 11
Pourquoi mon tank ne bouge-t-il pas?...................................................................................................... 11
Ton premier morceau de code........................................................................................................................... 12
Des murs invisibles...................................................................................................................................................... 13
Allons-y!............................................................................................................................................................................. 14
Flicitations!..................................................................................................................................................................... 16
Et la suite?........................................................................................................................................................................ 17
Chapitre 2
Comment tirer unobus?................................................................ 19
Quoi de neuf?................................................................................................................................................................. 20
Ce que nous allons faire dans ce chapitre................................................................................................ 20
Vers le haut et vers le bas...................................................................................................................................... 20
Les obus! Les obus!................................................................................................................................................. 22
Donc nous avons un obus immobile, en plein milieu de lcran........................................... 23
Feu!......................................................................................................................................................................................... 24
Victoire!............................................................................................................................................................................... 25
Et la suite?........................................................................................................................................................................ 26
Chapitre 3
Simuler leslois de laphysique....................................................... 27
Quoi de neuf?................................................................................................................................................................. 28
Ce que nous allons faire dans ce chapitre................................................................................................ 29
Dclenchons une tempte!.................................................................................................................................. 29
Influence du vent sur la vitesse.......................................................................................................................... 30
Groupe Eyrolles
3
Vive la physique!.......................................................................................................................................................... 33
Promenons-nous dans le systme solaire................................................................................................ 33
La suite! La suite!....................................................................................................................................................... 34
Chapitre 4
Collisions et explosions..................................................................... 35
Quoi de neuf?................................................................................................................................................................. 36
Ce que nous allons faire dans ce chapitre................................................................................................ 36
Crons notre premire fonction........................................................................................................................ 36
Une fonction qui nest pas appele ne sert rien............................................................................... 40
Les obus naiment pas tomber par terre..................................................................................................... 41
Deuxime fonction....................................................................................................................................................... 41
Une fonction qui nest pas appele ne sert dcidment rien!.............................................. 42
Enfin une explosion!.................................................................................................................................................. 43
Jetons un coup dil au code gnr automatiquement............................................................... 43
Et maintenant?.............................................................................................................................................................. 45
Chapitre 5
Finalisation de ton jeu vido.......................................................... 47
Quoi de neuf?................................................................................................................................................................. 48
Ce que nous allons faire dans ce chapitre................................................................................................ 48
Mise en place du compteur et des tours de jeu.................................................................................... 49
Ne jamais rester zro............................................................................................................................................. 50
Mais enfin, Dieu ne joue pas aux ds! (Albert Einstein)....................................................... 50
Quand un obus rencontre un tank.............................................................................................................. 52
Game over.......................................................................................................................................................................... 54
Enfin!..................................................................................................................................................................................... 56
Et le code dans tout a?......................................................................................................................................... 56
Et maintenant?.............................................................................................................................................................. 58
Chapitre 6
Cacher descodes detriche............................................................ 59
Quoi de neuf?................................................................................................................................................................. 60
Un premier exemple: la tlportation.......................................................................................................... 60
On ne joue jamais assez avec le hasard..................................................................................................... 61
Il est temps de jouer tricher.............................................................................................................................. 61
toi de jouer!....................................................................................................................................................... 63
Groupe Eyrolles
Groupe Eyrolles
Cest fini?........................................................................................................................................................................... 63
Index....................................................................................................... 64
4 Sommaire
Avant de te lancer
dans la cration
deton jeu vido
De nos jours, les crateurs de jeux vido sont souvent considrs comme des magi-
ciens: avec juste un peu de code informatique en guise de baguette magique, ils
arrivent animer des petits pixels, raconter des histoires fantastiques et mme
crer des motions. Quand on sait que les ordinateurs (tout comme les consoles,
tablettes ou smartphones) nutilisent que des 0 et des1 pour coder linformation,
il y a de quoi trouver cela magique!
Il est donc destin tous les petits curieux qui ont envie dap-
prendre crer un jeu vido. Et pas dinquitude: aucun savoir-
faire pralable nest demand. Bien sr, si tu as dj commenc
programmer, certaines choses te sembleront faciles et videntes.
Mais si cest ta premire exprience au sein du monde magique des
dveloppeurs, pas de panique: tout te sera expliqu de faon dtaille et, en cas
de besoin, les diffrentes solutions te seront prsentes au fur et mesure.
Je ne tai pas encore tout dit concernant ce cahier : il ne rvlera son entire
puissance que sil est accompagn dun site Internet (http://www.kidscod.in/app/tank).
Celui-ci taccompagnera pendant tout ton apprentissage: cest sur ce site que tu
pourras crer ton jeu vido, en six tapes de difficult croissante. Tu peux lire ce
livre sans jamais aller sur le site, et tu apprendras srement des choses. Mais le
Groupe Eyrolles
Groupe Eyrolles
mieux est davoir accs au site Internet paralllement ta lecture. Ainsi, tu pourras
mettre en excution immdiatement ce que tu lis et apprends. Et dans la mesure
o le but est ici de tapprendre crer un jeu vido, il serait dommage de ne pas
5
pouvoir tester ton jeu vido au fur et mesure de sa construction. Dans limmdiat,
nul besoin de se connecter Internet: nous verrons tout cela au premier chapitre.
Comme tous les grimoires, celui que tu tiens entre les mains est rempli de carac-
tres tranges: des caractres spciaux qui te sembleront la fois familiers et
compltement bizarres. Cest tout simplement parce que tu vas apprendre coder
ton jeu en langage Python. Ce langage est utilis aujourdhui dans de nombreux
domaines, y compris pour la cration de jeux vido. L encore pas dinquitude,
chaque morceau de code en Python te sera expliqu en dtail. Par exemple, un
morceau de code Python te sera prsent de cette faon:
Il est bientt temps de te lancer dans ton apprentissage magique du code, mais
auparavant, laisse-moi te donner deux derniers conseils.
Groupe Eyrolles
Groupe Eyrolles
Groupe Eyrolles
untank
Les conditions
9
Cration de ton compte
Tu vas recevoir un e-mail contenant un lien de validation sur lequel il faudra cliquer
pour valider ton inscription. Ensuite, il te suffira de retourner ladresse http://www.
kidscod.in/app/tank et de te connecter.
Environnement de dveloppement
Groupe Eyrolles
Groupe Eyrolles
Tu peux dj tentraner faire les manipulations que tu vas rpter tout au long de
ce cahier: commence par prendre un bloc de code de la zone 2, puis dpose-le
dans la zone 3. Tu peux voir que la zone 4 sera automatiquement mise jour en
fonction du bloc que tu auras dpos. Enfin, en cliquant sur le bouton
(Dmarrer), tu pourras tester ton programme qui sexcutera dans la zone 1. Ce
nest pas plus compliqu que a!
Bien videmment, quand tu joues un jeu vido, tu ne vois que la zone1, la scne.
Les zones 2, 3 et4 ne sont accessibles quau crateur du jeu vido. Nous verrons
par la suite comment tu pourras partager ton jeu avec tes amis ou ta famille, en
ne leur montrant que la zone1. Hors de question quils aient accs ton espace
de travail: un magicien ne rvle jamais ses secrets!
Cest trs simple: il est beaucoup plus facile dapprendre programmer de faon
visuelle, avec des blocs de code imbriquer les uns dans les autres, plutt que
dcrire des lignes de code. En revanche, une fois que tu auras bien compris
comment crer un jeu vido, tu pourras apprendre programmer laide dun
langage de programmation textuel, comme Python. On pense souvent Python
pour apprendre un langage de programmation car il a justement t pens pour
les dbutants. Tout le texte que tu verras scrire tout seul dans la zone4 sera la
traduction en langage Python de ce que tu creras de faon visuelle dans la zone
de travail3. Mais je sens bien que tu es impatient de commencer, alors cest parti!
Groupe Eyrolles
Dans un jeu vido, tu as lhabitude de faire bouger ton personnage (ou des objets)
laide dun joypad, dun clavier ou encore en inclinant ta tablette. Mais il ny a rien
de magique derrire tout a: ce sont uniquement des lignes de code!
Si tu observes lespace de travail, tu verras deux blocs de code isols: Quand flche
gauche appuye et Quand flche droite appuye.
Comme il ny a rien en dessous de ces blocs, ton programme ne sait pas ce quil
faut faire quand on appuie sur les flches Gauche ou Droite: donc il ne fait rien. Ce
qui est pour toi vident (faire avancer un personnage vers la droite si on appuie
sur une flche allant vers la droite) na absolument aucun sens pour un ordinateur,
qui na pas lhabitude de jouer des jeux vido.
Il faut donc expliquer en dtail tout ce qui caractrise ton jeu vido: cest ce quon
appelle crire un programme, et nous allons commencer ds maintenant.
Nattendons plus et jetons-nous dans le feu de laction ! Dans un jeu vido, sil
ny a pas dobstacles aux alentours du personnage principal, le joueur sattend
pouvoir le dplacer dans toutes les directions permises par le jeu. Ici, nous pouvons
Groupe Eyrolles
Groupe Eyrolles
Attention
Tes modifications ne sont pas prises en compte par ton jeu vido tant que tu
ne cliques pas sur Rinitialiser, puis sur Dmarrer.
Si tu testes un peu ton jeu, tu remarqueras quil y a un petit problme: ton tank
peut sortir de la scne, par la gauche ou par la droite. Nous allons devoir lempcher
de sortir du cadre. Pour cela, nous inventerons des murs virtuels que le tank
naura pas le droit de franchir.
Quand on cre un jeu vido, on repre gnralement la position des sprites (tout
ce qui bouge lcran) grce une grille, comme dans une bataille navale. Comme
Groupe Eyrolles
Groupe Eyrolles
Axe desx
On peut donc dire que quelle que soit la position du tank lcran, sa position x
sera suprieure (ou gale) 0 et forcment infrieure (ou gale) 550. Je suis sr
que tu as dj compris que pour empcher le tank de sortir de lcran, il suffit de
sassurer que sa positionx reste entre 0 et550. Avant chaque dplacement, nous
vrifierons donc quelle est comprise entre 0 et550, pour empcher le tank de
bouger au-del, mme si le joueur appuie sur une des deux flches.
Allons-y!
Groupe Eyrolles
Je te laisse dposer ces trois blocs dans lespace de travail (nimporte o pour
linstant) afin de crer la condition positionx du tank suprieure ou gale 0.
Pour cela, noublie pas de rechercher le symbole dans la liste droulante du bloc
de comparaison (qui par dfaut vaut =). Une fois que tu as pris en compte cette
condition, il te suffit de la clipser droite du bloc sifaire, dans lencoche
prvue pour cela. Voici quoi ton code devrait ressembler:
Groupe Eyrolles
Groupe Eyrolles
As-tu bien compris pourquoi? Cest tout simplement parce que si la condition
nest pas ralise (si le tank est la position x=0), alors le programme ne fait
rien: donc mme si le joueur appuie sur la flche Gauche, il ne se passera rien. En
revanche, si la condition est ralise (par exemple si le tank se trouve la position
x=100), alors le programme a une instruction raliser, savoir se dplacer
vers la gauche.
Note
Dans la correction que nous avons utilise, la valeur est de 509 au lieu de
550: cest tout simplement parce que le tank a une longueur gale 41pixels.
Flicitations!
Groupe Eyrolles
Et la suite?
Nous avons donc cr quelque chose dextraordinaire: un tank qui bouge! Mais
pour que le jeu soit rellement intressant, il va falloir lui apprendre dautres
choses, comme tirer un obus par exemple Rendez-vous au chapitre2 pour cette
nouvelle tape!
Psssst
As-tu essay de cliquer sur le deuxime tank?
Groupe Eyrolles
Groupe Eyrolles
19
Quoi de neuf?
les tanks ont dornavant des canons (cest plus pratique pour
tirer un obus);
un nouveau bouton rouge a t ajout sur linterface, droite du
pav directionnel;
il y a 5blocs de code sur lespace de travail (au lieu de3 avant);
les blocs de code disponibles sont classs par catgories : Contrles,
Actions, Affectation, Variables, Maths, Outils et Fonctions.
Tout dabord, nous allons voir comment permettre au joueur dorienter les canons
des tanks. Ensuite, tu apprendras faire tirer un obus un tank. Mais commenons
par nous intresser aux canons!
Parmi les nouveaux blocs de code de lespace de travail, tu peux remarquer que
deux dentre eux concernent les flches Haut et Bas.
Tout comme nous avons vu comment faire se dplacer un tank grce aux flches
Gauche et Droite, nous allons faire en sorte que lorsque lutilisateur clique sur la
flche pointant vers le haut, le canon du tank actif soriente un peu plus vers le haut.
Inversement, il faut que le canon soriente vers le bas lorsque cest la flche pointant
vers le bas qui est appuye. Pour cela, tu as ta disposition deux nouvelles actions.
Groupe Eyrolles
Groupe Eyrolles