Browse Source

updated instructions

chapitre-1-start
Lapin-Blanc 3 years ago
parent
commit
7143ed4d5e
2 changed files with 13 additions and 10 deletions
  1. +12
    -10
      README.md
  2. +1
    -0
      birdie.py

+ 12
- 10
README.md View File

@@ -1,7 +1,7 @@
# Partie 1 # Partie 1
## Pour commencer ## Pour commencer


Pour réaliser votre programme, vous allez devoir vous servir des modules fournis par **Pygame Zero** que vous avez installé durant l'introduction.
Pour réaliser votre programme, vous allez devoir vous servir des modules fournis par **Pygame Zero** que vous avez installés durant l'introduction.


La manière d'utiliser la bibliothèque est la suivante : La manière d'utiliser la bibliothèque est la suivante :
- À la première ligne de votre script, il faut inporter le module **pgzrun** - À la première ligne de votre script, il faut inporter le module **pgzrun**
@@ -18,7 +18,7 @@ pgzrun.go()
``` ```


L'exécution d'un tel programme devrait d'ailleur faire apparaître une fenêtre au fond noir et dont le titre est *Pygame Zero Game* L'exécution d'un tel programme devrait d'ailleur faire apparaître une fenêtre au fond noir et dont le titre est *Pygame Zero Game*
> - Recréez maintenant le nouveau script python `birdie.py`, dans le dossier racine du projet, basé sur le squelette décrit ci-dessus.
> - Modifiez maintenant le script `birdie.py`, selon le squelette décrit ci-dessus.
> - Entre la première et la dernière ligne (corps du programme), rédigez le code suivant : > - Entre la première et la dernière ligne (corps du programme), rédigez le code suivant :


```python ```python
@@ -27,13 +27,13 @@ WIDTH = 400
HEIGHT = 708 HEIGHT = 708
``` ```


> - Enregistrez ce fichier sous le nom **birdie.py**,
> - Enregistrez votre fichier,
> - Exécutez-le pour voir le résultat. > - Exécutez-le pour voir le résultat.


Vous devriez voir une fenêtre vide apparaître. Pouvez-vous comprendre ce que fait chaque ligne de code ? Vous devriez voir une fenêtre vide apparaître. Pouvez-vous comprendre ce que fait chaque ligne de code ?


> - Quittez la fenêtre, > - Quittez la fenêtre,
> - Effectuez quelques modification sur les lignes de votre programme et exécutez à nouveau celui-ci, pour vérifier l'effet attendu.
> - Effectuez quelques modifications sur les lignes de votre programme et exécutez à nouveau celui-ci, pour vérifier l'effet attendu.
> - N'oubliez pas de quitter la fenêtre de jeu entre chaque tentative. > - N'oubliez pas de quitter la fenêtre de jeu entre chaque tentative.


## Afficher un arrière-plan ## Afficher un arrière-plan
@@ -65,7 +65,7 @@ bird = Actor('bird1', (75, 350))


Cette ligne ne doit pas être indentée, elle est *hors* de la fonction. Son instruction ne sera exécutée qu'une seule fois, au lancement initial du programme, et définit un **`Actor`**, nommé **bird**. **`Actor`** est un élément de *Pygame Zero*, mais bird est une variable pour désigner l'object *Actor* créé. On peut choisir n'importe quel nom celle-ci. Par exemple, modifions 'bird' en 'titi'. Cette ligne ne doit pas être indentée, elle est *hors* de la fonction. Son instruction ne sera exécutée qu'une seule fois, au lancement initial du programme, et définit un **`Actor`**, nommé **bird**. **`Actor`** est un élément de *Pygame Zero*, mais bird est une variable pour désigner l'object *Actor* créé. On peut choisir n'importe quel nom celle-ci. Par exemple, modifions 'bird' en 'titi'.


***ATTENTION*** : il faut cependant respecter les règles de nommage des variable python : pas d'espace, de caractères accentués, etc.
***ATTENTION*** : il faut cependant respecter les règles de nommage des variables python : pas d'espace, de caractères accentués, etc.


> Exécutez à nouveau votre programme. Que se passe-t-il ? > Exécutez à nouveau votre programme. Que se passe-t-il ?


@@ -80,7 +80,7 @@ def draw():
titi.draw() titi.draw()
``` ```


> Une fois que cela fonctionne, expérimentez à nouveau avec les différentes valeurs entre parenthèse (brid1, 75, 350) pour parfaitement comprendre leurs rôles.
> Une fois que cela fonctionne, expérimentez à nouveau avec les différentes valeurs entre parenthèse (bird1, 75, 350) pour parfaitement comprendre leurs rôles.
> Essayez de placer l'oiseau dans chacun des coins de la fenêtre > Essayez de placer l'oiseau dans chacun des coins de la fenêtre
> Que se passe-t-il si l'on intervertit les deux lignes à l'intérieur de la fonction `**draw**` ? Pourquoi ? > Que se passe-t-il si l'on intervertit les deux lignes à l'intérieur de la fonction `**draw**` ? Pourquoi ?


@@ -104,11 +104,11 @@ Tous les objets de type **Actor** ont une position **x** et **y**. Comme nous av
> Arrivez-vous à faire se déplacer l'oiseau horizontalement ? En sens inverse ? > Arrivez-vous à faire se déplacer l'oiseau horizontalement ? En sens inverse ?
> L'instruction print est censée afficher 'Clic souris !'. Pouvez-vous voir cela ? > L'instruction print est censée afficher 'Clic souris !'. Pouvez-vous voir cela ?


La fonction **`on_mouse_down`** est *appelée* à chaque fois que l'on clique. Lorsqu'une fonction est appelée, l'ensemble des instructions qu'elle contient sont exécutées. Si l'on veut donner l'impression que l'oiseau se déplace de manière fluide, il faut utiliser de petites valeur de décalage, et cliquer rapidement à de nombreuses reprises...
La fonction **`on_mouse_down`** est *appelée* à chaque fois que l'on clique. Lorsqu'une fonction est appelée, l'ensemble des instructions qu'elle contient sont exécutées. Si l'on veut donner l'impression que l'oiseau se déplace de manière fluide, il faut utiliser de petites valeurs de décalage, et cliquer rapidement à de nombreuses reprises...


> Essayez de faire se déplacer l'oiseau de manière fluide... > Essayez de faire se déplacer l'oiseau de manière fluide...


De même que la fonction **`on_mouse_down`** est appelée lorsque l'on clique, la fonction **`update`**, si elle est définie est appelée *automatiquement* ne nombreuses fois par seconde (60x normalement).
De même que la fonction **`on_mouse_down`** est appelée lorsque l'on clique, la fonction **`update`**, si elle est définie, est appelée *automatiquement* ne nombreuses fois par seconde (60x normalement).


> Définissez votre propre fonction **`update`** comme suit : > Définissez votre propre fonction **`update`** comme suit :


@@ -142,10 +142,12 @@ Cela veut dire que **speed** peut changer pendant que le jeu est en train de tou
> Expérimentez avec les différentes valeur pour équilibrer le valeurs de jeu (effet du clic, vitesse de chute, ...) > Expérimentez avec les différentes valeur pour équilibrer le valeurs de jeu (effet du clic, vitesse de chute, ...)


## Challenges ## Challenges
> Il vous est conseillé de développer ces différents challenges dans des branches autonomes, par exemple chapitre-1-challenge-1, etc.
> Ainsi, vous garder votre travail de base tel quel et pouvez travailler chaque challenge individuellement.


- Modifiez tout le jeu pour le faire fonctionner de manièr horizontale.
- Modifiez tout le jeu pour le faire fonctionner de manière horizontale.
- Arrangez-vous pour que l'oiseau stoppe tout mouvement si l'on clique dans la fenêtre. - Arrangez-vous pour que l'oiseau stoppe tout mouvement si l'on clique dans la fenêtre.
- Arrangez-vous pour que quand vous gardez le bouton de la souris enfoncé, l'oiseau arrête de bouger, mais que quand vous relâchez le bouton, il recommence à bouger. (Indice : vous aurez besoin d'une nouvelle fonction : **`on_mouse_up`**) - Arrangez-vous pour que quand vous gardez le bouton de la souris enfoncé, l'oiseau arrête de bouger, mais que quand vous relâchez le bouton, il recommence à bouger. (Indice : vous aurez besoin d'une nouvelle fonction : **`on_mouse_up`**)
- Ajoutez un autre oiseau, se déplacant à une autre vitesse, - Ajoutez un autre oiseau, se déplacant à une autre vitesse,
- Arrangez-vous pour que quand un oiseau dépasse les limite de l'écran, il réapparaisse de l'autre côté. (Indice : vous allez devoir vous servir de l'instruction **`if`**)
- Arrangez-vous pour que quand un oiseau dépasse les limites de l'écran, il réapparaisse de l'autre côté. (Indice : vous allez devoir vous servir de l'instruction **`if`**)
- Arangez-vous pour qu'à chaque clic, l'oiseau accélère... - Arangez-vous pour qu'à chaque clic, l'oiseau accélère...

+ 1
- 0
birdie.py View File

@@ -0,0 +1 @@
print('Hello world !')

Loading…
Cancel
Save