Course Website
Cours : Jeudi 8h15–9h00, CM 1 4
Exercices : Jeudi 9h15–11h, INF 3, BC 07-08
Cette semaine, nous complexifions deux aspects de notre jeu. Nous ajoutons une nouvelle arme, l’arc à flèches, ainsi qu’un nouveau monstre, la chauve-souris.
Répartissez-vous les tâches de manière à pouvoir travailler indépendemment et en parallèle.
Nous rappelons qu’il est toujours nécessaire d’écrire des tests pour les tâches qui vous sont demandées.
Pour l’instant, votre joueuse n’a qu’une épée à sa disposition. Les clics gauches de souris permettent d’attaquer juste à côté de la joueuse.
Lorsque la joueuse clique avec le bouton droit de la souris, elle change d’arme active. Par défaut, l’arme active est l’épée. Lorsqu’elle clique avec le bouton gauche de la souris, elle attaque dans la direction de la souris avec l’arme active.
Les assets dont vous aurez besoin sont déjà dans le pack d’items voxel que vous avez ajouté la semaine dernière pour l’épée.
Ajoutez une icône en haut à gauche de l’écran qui montre en tous temps quelle est l’arme active.
Si l’arc à flèches est actif lors d’un clic de souris gauche, les événéments suivants doivent se produire :
on_update
.Le comportement d’une flèche “en vol” est le suivant :
on_update
, vous devez :
Les flèches n’interagissent pas avec les autres sprites sur le jeu (comme les pièces ou la joueuse). Elle passent à travers.
Il est possible de tirer plus de flèches alors qu’une flèche est encore en vol. Chaque flèche est indépendante des autres.
Important : vous devez choisir des constantes de vitesse initiale et de gravité qui font en sorte que la parabole de chute soit clairement visible à l’œuil.
Les chauves-souris sont un nouveau type de monstre, pour déjouer les plans de la joueuse.
Comme les blobs, si la joueuse touche une chauve-souris, elle perd. De même, si l’épée ou une flèche touche une chauve-souris, celle-ci est tuée et retirée du jeu.
Vous aurez besoin d’un nouveau pack d’assets pour la chauve-souris : le pack extended enemies.
Le contenu de ce zip provient du pack Platformer Art Extended Enemis de kenney.nl
, qui est aussi sous license CC0.
L’asset pour la chauve-souris sera donc "assets/kenney-extended-enemies-png/bat.png"
.
On place une chauve-souri sur la carte avec un nouveau caractère : v
.
Sa position de départ définit un “champ d’action” dans laquelle elle est autorisée à voler.
À vous de définir ce champ d’action : cela peut être un disque centré sur la position de départ, ou un rectangle, etc.
Le champ d’action de chaque chauve-souris est défini au chargement de la carte, et ne change plus après.
Le comportement de la chauve-souris est erratique et aléatoire. Mais on ne veut pas non plus qu’elle soit trop aléatoire. Il faut faire en sorte que son mouvement ait l’air plus ou moins naturel.
Voici d’abord quelques règles strictes à respecter :
Nous ne prescrivons pas de formule précise pour leurs mouvements. Voici en revanche quelques “idées” qui peuvent vous lancer :
Pour générer des nombres aléatoires en Python, consultez la documentation sur les distributions à valeurs réelles du module random
.
N’oubliez pas de compléter votre fichier LOG.md
.
Répondez aux questions suivantes dans votre fichier ANSWERS.md
: