Zelda Koriki Forest

 Lien vers le fichier base de travail:

Zelda Koriki Forest

Lien vers le fichier modèle:
https://scratch.mit.edu/projects/724226874/editor/

---------------------------------------------------------------------------------------------------------------------
Devant un code complexe :

>> Utiliser/créer des blocs pour isoler les rôles de chaque portion de code

>> Dans un premier temps désactiver les blocs dont la fonction n'est pas importante:

  >> Activer l'affichage des variables afin de mieux comprendre le déroulement du programme, ici, afficher "Jumping", "can move", "Attacking".

>> Repérer dans le code à quels endroits ces variables sont modifiées.

>> Identifier le fonctionnement global du code de chacun des sprites:


- Sprite Link : 

Le code de Link gère essentiellement :

         - La mise en place des costumes.

         - L'orientation de link

         - La mise à jour de la position de Link sur le sprite "Hitbox"

Le code de link décrit les opérations à effectuer en fonction :

    1) des actions utilisateur (flèche gauche, droite etc...)

    2) En fonction des valeurs des variables de comportement (Jumping, Attacking etc...)

On remarque la variable "frame", qui va être utilisé pour pointer sur les différents costumes.


- Sprite Hitbox :

C'est le sprite responsable du déplacement. Il s'agit d'un sprite invisible, qui calcul la position du sprite "Link". C'est ici que se fait la comparaison entre la position et la carte invisible "Level HitBox"

Dans un premier temps, à simplifier pour avoir uniquement deux blocs en action:

  - Gestion des coordonnées Min et Max qui gèrent ce qui se passe si le personnage sort de l'écran.

  - Gestion du mouvement simple n'utilisant pas la cible ("no targeting") 


 - Sprite Level HitBox : 

Il s'agit d'une carte invisible qui va permettre de définir les zones accessibles ou non par le sprite HitBox (donc "Link").

A noter l'utilisation d'un bloc qui prend une valeur en entrée (par défaut la valeur est 1) destiner à gérer un Zoom : on peut désactiver dans un premier temps.


- Sprite Level:

ce sprite gère la gestion des niveau.

On retrouve de la même manière un sprite pour la gestion du zoom, à désactiver dans un premier temps.


- Sprite Navi2:

Il s'agit d'un sprite purement ornemental (pas d'action sur la position de Link).

On remarque la gestion des costumes par une variable "navi frame", avec une technique similaire à la gestion des costumes de Link.


- Sprite ThumbNail:

Il s'ait du sprite afficher avant le démarrage du jeu.


Au terme de la première étape de simplification, le projet devra être semblable à ceci:

Zelda Koriki Forest : étape 1


Exemple de simplification de la présentation du sprite HitBox:

Face a un code difficile a comprendre, on simplifie en créant des blocs pour chaque situation.
Le code s'éclaircit:



En simplifiant ainsi, va pouvoir dans un premier temps se focaliser sur le comportement le plus simple, donc ici le cas ou:
- le personnage peut bouger (can move ? == YES )
- le personnage n'attaque pas, ne saute/roule pas (attacking == NO ET jumping/rolling == NO )
- Le personnage ne suis pas une cible (targeting == NO)




On comprend ainsi mieux les fonctions de cette partie du code:

1) Mise à jour la variable "moving?" : si l'utilisateur appuie sur les touches "flèches", moving? passe à YES, sinon moving? passe à NO

2) Mise à jour de l'orientation du sprite

3) Vérification de collision avec la carte du sprite "Level HitBox"













Posts les plus consultés de ce blog

Activité: Jeu du serpent en python