Sunteți pe pagina 1din 22

Cahier dactivits David Weinachter

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

Cahier dactivits PYTHON pour les KIDS


pour le personnaliser !
Caractristiques du jeu


Deux joueurs : le premier qui tire un obus sur le tank de ladversaire gagne
Vritable moteur physique (gravit, mto, collisions) Ds 10 ans
Codes de triche (gagner directement, modifier la direction de lobus)

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.

qui sadresse ce livre ?


Aux enfants (ds 10 ans), parents et enseignants !

Sur www. kidscod.in/app/tank


Cre, personnalise et partage ton propre jeu de tank
en suivant les indications de ce livre.

Frdric Pain
Project

Illustrations de Morgan Thomas


Cahier dactivits
Frdric Pain

SCRATCH Cahier dactivits


The

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

qui sadresse ce livre ?


Aux enfants (ds 8 ans), parents et enseignants !
qui sadresse ce livre ? programmer
Aux enfants (ds 8 ans), parents et enseignants !
Sur www.editions-eyrolles.com/go/scratch
en tamusant !
Sur www.editions-eyrolles.com/go/cahierscratch
Tlcharge toutes les ressources du livre (lutins, jeux).

12 E
Tlcharge les ressources du livre (fichiers sources, jeux, bonus).
Project

Dans la mme collection


The

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

Aux enfants (ds 8 ans), parents et enseignants !

Sur www.editions-eyrolles.com/go/scratch
Code diteur : G14218

Tlcharge toutes les ressources du livre (lutins, jeux).

Dans la mme collection


12 E
ISBN : 978-2-212-14111-5

15,90
Code diteur : G14111

Studio Eyrolles ditions Eyrolles Studio Eyrolles ditions Eyrolles

G14111_LInformatiquesAvecScratch_Couv_V3.indd 1 02/02/2015 10:26

Dans la mme collection Studio Eyrolles ditions Eyrolles

G14111_LInformatiquesAvecScratch_Couv_V3.indd 1 02/02/2015 10:26

G14218_CahierDActivitesScratch_Couv_V3.indd 1 20/05/15 14:32

Dans la mme collection Studio Eyrolles ditions Eyrolles

G14332_CahierDactvitesPython.indd 1 17/11/2015 12:10


Cahier dactivits David Weinachter

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

Cahier dactivits PYTHON pour les KIDS


pour le personnaliser !
Caractristiques du jeu


Deux joueurs : le premier qui tire un obus sur le tank de ladversaire gagne
Vritable moteur physique (gravit, mto, collisions) Ds 10 ans
Codes de triche (gagner directement, modifier la direction de lobus)

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.

qui sadresse ce livre ?


Aux enfants (ds 10 ans), parents et enseignants !

Sur www. kidscod.in/app/tank


Cre, personnalise et partage ton propre jeu de tank
en suivant les indications de ce livre.

Frdric Pain
Project

Illustrations de Morgan Thomas


Cahier dactivits
Frdric Pain

SCRATCH Cahier dactivits


The

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.

qui sadresse ce livre ?


Apprends
Aux enfants (ds 8 ans), parents et enseignants !
qui sadresse ce livre ? programmer
Aux enfants (ds 8 ans), parents et enseignants !
Sur www.editions-eyrolles.com/go/scratch
en tamusant !
Sur www.editions-eyrolles.com/go/cahierscratch
Tlcharge toutes les ressources du livre (lutins, jeux).
Tlcharge les ressources du livre (fichiers sources, jeux, bonus).
Project

Dans la mme collection


The

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

Aux enfants (ds 8 ans), parents et enseignants !

Sur www.editions-eyrolles.com/go/scratch
Code diteur : G14218

Tlcharge toutes les ressources du livre (lutins, jeux).

Dans la mme collection


12 E
ISBN : 978-2-212-14111-5

15,90
Code diteur : G14111

Studio Eyrolles ditions Eyrolles Studio Eyrolles ditions Eyrolles

G14111_LInformatiquesAvecScratch_Couv_V3.indd 1 02/02/2015 10:26

Dans la mme collection Studio Eyrolles ditions Eyrolles

G14111_LInformatiquesAvecScratch_Couv_V3.indd 1 02/02/2015 10:26

G14218_CahierDActivitesScratch_Couv_V3.indd 1 20/05/15 14:32

Dans la mme collection

G14332_CahierDactvitesPython.indd 1 17/11/2015 12:10


David Weinachter

Cahier dactivits

PYTHON
pour les

G14332_CahierDactvitesPython_PDT.indd 1 17/11/2015 11:19


Groupe Eyrolles
61, bd Saint-Germain
75240 Paris Cedex 05
www.editions-eyrolles.com

Pour Delhia, Ethan et Mattho, merci pour votre enthousiasme


et vos sances de tests acharnes !

Pour Angy, qui a toujours su que jcrirai un livre un jour


et sans qui rien naurait t possible.

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.

-wowu- pour les illustrations de louvrage et du site web associ kidscod.in/app/tank

Groupe Eyrolles, 2016


ISBN: 978-2-212-14332-4
Sommaire
Avant de te lancer dans la cration deton jeu vido......... 5
Quest-ce que Kidscod.in?.................................................................................................................................... 7

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

Assez de physique, place au code!................................................................................................................ 31


Les obus tombent comme des pommes................................................................................................... 31
toi de jouer avec la gravit................................................................................................................................ 32

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!

Si tu fais partie de ceux qui aimeraient devenir un de ces sorciers du code,


Ins
jai une trs bonne nouvelle: le livre que tu tiens entre les mains est un
Sorci
vritable grimoire magique pour dbutants. Divis en six chapitres
resso
qui correspondent six exercices, ce cahier dactivits va tap-
du co
prendre crer ton premier jeu vido, pas pas.

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:

Ceci est un code Python 1


Qui ne fait rien et qui nest
Mme pas format correctement.2
Cest une honte dcrire nimporte quoi
Dans un exemple de code. Toi le jeune
Apprenti, ne tamuse pas faire de mme 3
Sous peine de te retrouver avec un jeu vido
Qui ne fonctionnera jamais 4

Si tu regardes attentivement ce texte, tu verras quil contient des numros 1, 2,


3 et 4: ils te serviront comprendre de quelle partie du code on te parle quand
on texpliquera des extraits de code.

Il est bientt temps de te lancer dans ton apprentissage magique du code, mais
auparavant, laisse-moi te donner deux derniers conseils.

Lis bien chaque dbut de chapitre: il y sera clairement expliqu ce quon


attend de toi. Nhsite pas relire les introductions de chapitre si jamais
tu te sens perdu pendant ton apprentissage.
Si jamais tu devais te perdre dans le monde merveilleux des codeurs,
tu pourras toujours utiliser un super pouvoir que je vais tenseigner: en
cas de besoin, envoie un e-mail ladresse david@kidscod.in, en prcisant le
chapitre o tu tes perdu et la dernire chose que tu as russi coder. Je
taiderai personnellement te sortir de nimporte quelle situation dlicate.
Moi-mme je suis pass par l, et je me ferai une joie de taider.
Voil, je crois que tu as en mains tous les atouts pour te lancer sereinement dans
Groupe Eyrolles

Groupe Eyrolles

ton apprentissage: il ne me reste plus qu te donner rendez-vous au chapitre1.

trs bientt, jeune apprenti codeur!

6 Avant de te lancer dans la cration deton jeu vido


Psssst
Comme pour toute qute, tu seras peut-tre rassur si tu es accompagn.
Alors pourquoi ne pas convaincre ton (ou ta) meilleure ami(e) de se joindre
toi? En plus, le jeu vido que tu vas crer est spcialement conu pour deux
joueurs. Alors tu sais ce quil te reste faire

Un jeu vido que tu pourras bientt crer toi-mme

Quest-ce que Kidscod.in?

Kidscod.in est une mthode en ligne ( http://www.kidscod.in) pour apprendre aux


Groupe Eyrolles

Groupe Eyrolles

enfants de 7 77ans les fondements de la programmation.

Lapprentissage de la programmation sy fait grce un langage de


programmation visuel, reposant sur des blocs logiques imbriquer.

 Avant de te lancer dans la cration deton jeu vido 7


Chacun peut apprendre son rythme, en toute autonomie, grce une
alternance de squences animes, dexercices guids et dexercices libres.
Kidscod.in est le tremplin parfait pour sorienter ensuite vers des langages
de programmation modernes tels que Python ou JavaScript.
Ce cahier dactivits sappuie sur Kidscod.in pour aborder le langage Python de
faon novatrice: chaque brique de code dpose sur lespace de travail gnre
automatiquement le code Python correspondant, afin de favoriser la dcouverte
de la syntaxe et de la structure du code Python, de faon visuelle et ludique.

Nhsite pas visiter le site http://www.kidscod.in pour en savoir plus et rejoindre la


communaut grandissante des codeurs en herbe!

Groupe Eyrolles

8 Avant de te lancer dans la cration deton jeu vido


Chapitre 1
Apprendre
faire bouger
Notions abordes

Lanimation dans un jeu vido

Les tests

untank

Les conditions

Tout reste faire

Ce premier exercice va te permettre de te familiariser avec ton environnement


de travail en ralisant les premires briques de ton jeu vido.
Groupe Eyrolles

Bienvenue dans ton Cahier dactivits Python . Dans ce premier chapitre, tu


dcouvriras ce quon appelle un environnement de dveloppement , et tu
commenceras crer ton jeu vido.

9
Cration de ton compte

Tout dabord, rends-toi ladresse http://www.kidscod.in/app/tank. Cre-toi un compte


en te faisant aider de tes parents si ncessaire. Ce compte te servira pour accder
au contenu interactif qui accompagne ce cahier dactivits. De plus, il te permet
de sauvegarder ta progression et de partager ton jeu vido avec le monde entier.

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

Une fois authentifi, tu arriveras sur ce quon appelle lenvironnement de dve-


loppement dans le monde des dveloppeurs. Cest dans cet environnement que
tu vas crer, tester et corriger ton jeu vido. Tu peux dj remarquer les chiffres1
6 tout en haut: ils correspondent aux six chapitres de ce livre. Je te conseille
de suivre la progression propose, mme si tu es libre de faire les exercices dans
lordre que tu veux.

Passons maintenant la dcouverte de ton environnement de dveloppement. Il


est compos de quatre zones principales.

Groupe Eyrolles

Groupe Eyrolles

Ton environnement de dveloppement

10 Chapitre 1 Apprendre faire bouger untank


La scne1 correspond au jeu vido que tu cres.
Les blocs de code utilisables sont disponibles dans la zone2.
Cest dans lespace de travail 3 que tu vas assembler les blocs de code.
Le code gnrest automatiquement mis jour dans la zone 4 en fonc-
tion des briques de code prsentes dans lespace de travail 3.

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!

Et le langage Python dans tout a?

Sans doute te demandes-tu pourquoi on va manipuler des blocs de code, semblables


des briques de Lego?

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!

Pourquoi mon tank ne bouge-t-il pas?


Groupe Eyrolles

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!

 Chapitre 1 Apprendre faire bouger untank 11


Dans ton jeu de tank, tu peux voir quil y a un pav directionnel dans la zone 1,
juste en dessous du tank n1. Le but de ce premier chapitre est de faire en sorte
que si on appuie sur la flche pointant vers la gauche, le tank se dirige vers la
gauche, et inversement, que si on appuie sur la flche pointant vers la droite, le
tank avance vers la droite.

Si tu testes maintenant, il ne se passera rien. Mme si tu cliques sur Dmarrer, cela


ne change rien, impossible de faire bouger le tank. Cest tout fait normal, et nous
allons voir pourquoi.

Si tu observes lespace de travail, tu verras deux blocs de code isols: Quand flche
gauche appuye et Quand flche droite appuye.

Blocs de code concernant les flches gauche et droite

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.

Ton premier morceau de code

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

uniquement dplacer un tank vers la droite ou vers la gauche.

12 Chapitre 1 Apprendre faire bouger untank


Occupons-nous dabord du dplacement vers la droite: il suffit de prendre le bloc
se dplacer vers la droite dans la zone2 puis de le dposer dans la zone3,
sous le bloc Quand flche droite appuye. Attention, il faut que les deux blocs
soient accrochs lun lautre: aide-toi des encoches prsentes sur les blocs. Quand
les deux encoches sont suffisamment proches, tu peux lcher ton bloc: il ira se
coller de lui-mme au bon endroit. Si tu dposes ton bloc trop loin, il restera isol
et ne sera pas compris par ton jeu vido. Tu devrais obtenir ceci:

Deux blocs correctement positionns

Tu as cr ton premier morceau de code! Il est temps de le tester en cliquant sur


Dmarrer. Essaye ensuite de cliquer sur la flche pointant vers la droite: youpi, ton
tank avance vers la droite! Ne tarrte pas en si bon chemin, et procde de la mme
faon pour pouvoir dplacer ton tank vers la gauche.

Attention
Tes modifications ne sont pas prises en compte par ton jeu vido tant que tu
ne cliques pas sur Rinitialiser, puis sur Dmarrer.

Des murs invisibles

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

nous nous intressons (pour linstant) uniquement aux dplacements horizontaux,


le long du sol, nous ne considrerons que la position horizontale du tank. On a
lhabitude de parler de laxex pour dsigner les graduations qui nous permettent

 Chapitre 1 Apprendre faire bouger untank 13


de reprer horizontalement des objets. Dans ton jeu, laxe desx commence la
valeur0, tout gauche de lcran, et finit 550, tout droite de lcran.

Ces chiffres nont pas t choisis au hasard: il y a exactement 550pixels entre


les deux extrmits de limage. Or, les pixels sont les points les plus petits que ton
cran peut afficher.

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!

Intressons-nous dabord au dplacement vers la gauche qui peut se rsumer par:


si la positionx du tank est plus grande que 0, alors il peut se dplacer vers la
gauche. Voyons comment traduire cela dans notre espace de travail.

Dans la phrase prcdente, deux mots sont trs importants: si et alors. On


peut les matrialiser grce au bloc de code si faire que tu trouveras dans la
liste des blocs disponibles.
Groupe Eyrolles

Groupe Eyrolles

Bloc si alors faire

14 Chapitre 1 Apprendre faire bouger untank


Il suffit de placer ce bloc directement sous le bloc Quand flche gauche appuye.
Il va prendre la place du bloc se dplacer vers la gauche, qui va se dtacher.
Rattache-le directement dans le bloc si, juste en face du verbe faire. Nous avons
un nouveau bloc, mais tu as certainement remarqu quil nest pas complet : il
ny a rien ct du si, part une encoche vide. Cest tout simplement parce que
nous navons pas formul la condition, savoir si la positionx du tank est plus
grande que0. Pour matrialiser cette condition, il faut se servir de trois blocs:
le comparateur, la positionx du tank, et le bloc nombre .

Les trois blocs utiliser pour ta premire condition

Il est important que tu comprennes la nature du bloc position x du tank


actif: cest ce quon appelle une variable dans le monde des programmeurs.
Une variable peut tre assimile une bote contenant une information: quand
on y fait appel, cest linformation quelle contient qui nous intresse. Dans notre
jeu de tank, la variable position x du tank actif contiendra toujours la
position du tank actif selon laxe horizontal. Ds que le tank se dplace, elle est
automatiquement mise jour avec la nouvelle valeur de la position du tank.

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

Comment dfinir un mur virtuel

 Chapitre 1 Apprendre faire bouger untank 15


Gnial, notre tank ne peut plus sortir de lcran par la gauche!

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.

Je te laisse procder de la mme manire pour lempcher de sortir par la droite.


Attention, la nouvelle condition est si la position x du tank est infrieure ou
gale 550.

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.

Fin du 1er chapitre

Flicitations!

Tu as termin le premier chapitre! Tu as appris :

dclencher une action suite lappui dune touche;


Groupe Eyrolles

Groupe Eyrolles

tester la position du sprite pour vrifier sil a le droit de se


dplacer ou pas;
effectuer un test conditionnel.

16 Chapitre 1 Apprendre faire bouger untank


Le code Python gnr dans la zone4 devrait ressembler a:

for event in pygame.event.get():1


if event.type == K_LEFT:2
if getActiveTankX() >= 0:3
avancerGauche()4

for event in pygame.event.get():


if event.type == K_RIGHT:
if getActiveTankX() <= 509:
avancerDroite()

Tu peux retrouver exactement ce que tu as fait de faon graphique:

1: ton programme Python attend quil se passe quelque chose;


2: si lutilisateur appuie sur la touche flche Gauche;
3: il faut vrifier si le tank peut bouger vers la gauche (tu reconnatras la mme
condition);

4: si la condition est vrifie, alors on peut avancer vers la gauche: on donne


linstruction Python qui fera dplacer le tank vers la gauche, savoir
avancerGauche().

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

 Chapitre 1 Apprendre faire bouger untank 17


Chapitre 2
Comment tirer
unobus?
Notions abordes

Affectation de valeurs

Apparition/disparition
desprites

Attention au bouton rouge

Dans ce deuxime chapitre, tu vas apprendre faire apparatre un obus,


puis le faire avancer en ligne droite.

Maintenant que tu es familiaris avec lenvironnement de dveloppement, nous


Groupe Eyrolles

allons mettre en pratique ce que tu as appris au premier chapitre, en ajoutant des


canons aux tanks. Nous allons galement voir comment faire en sorte que, dans
ton jeu, les tanks puissent tirer des obus.

19
Quoi de neuf?

Dans cet exercice, tu peux remarquer quelques diffrences par rapport


au chapitre prcdent:

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.

Ce que nous allons faire dans ce chapitre

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!

Vers le haut et vers le bas

Parmi les nouveaux blocs de code de lespace de travail, tu peux remarquer que
deux dentre eux concernent les flches Haut et Bas.

Blocs de code pour la gestion des 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

20 Chapitre 2 Comment tirer unobus?

S-ar putea să vă placă și