Route du Rhum - CE2

Dans cette page, tu trouveras :

Récupérer le projet

  1. Connecte toi à ton compte scratch, et ouvre le projet en cliquant sur ce lien :  https://scratch.mit.edu/projects/1399290149/
  2. Clique ensuite sur le bouton vert « Remix ». 

Si le bouton remix n’apparait pas c’est que tu n’es pas connecter !

Déplacement du bateau

Pour contrôler le bateau, nous allons lui demander de s’orienter vers la souris et d’avancé vers elle

Faire tourner le bateau

Dans le sprite voilier, ajoute un bloc quand le drapeau vert est cliqué puis la boucle répéter indéfiniment.

Cet ensemble va te permettre de créer un code qui sera exécuté pendant toute la durée du jeu. Ajoute ensuite le bloc s’orienter vers le pointeur de souris.

Appuie sur le drapeau vert au-dessus de la scène : ton bateau devrait maintenant regarder dans la direction de ta souris !

Faire avancer

Maintenat qu’on peut diriger le bateau faisont le avancer pour ça ajoute simple le bloc avancer de 10 pas. si tu clique sur le « 10 » tu vas pouvoir changer ce chiffre pour gerer la vitesse de ton bateau, je te conseil de mettre une petite vitesse comme 2 ou 3

Empêcher le bateau de traverser les obstacles

Une HitBox est une zone invisible qui sert à détecter les collisions. Ici, elle représente les zones que le bateau ne doit pas traverser.

Dans le projet la hitbox est déjà réalisé et bien placé on vas donc se concentré sur le bateau pour l’empecher de la traverser.

À chaque fois que le bateau avance, nous allons vérifier si il touche la HitBox. Si c’est le cas, nous lui ferons reculer pour annuler le déplacement

Bloquer l’avancée en cas de collision

On vas utiliser le bloc si alors, il permet de poser une question fermé à l’ordinateur (une question par laquelle on ne peut répondre par oui ou non)

La question qu’on va lui poser est : « Est ce que tu as touché la hitbox »

si c’est le cas alors c’est que le bateau ne peux plus avancer et nous allons le reculer pour donner l’illusion qu’il est à l’arret.

Gérer le vent à Saint-Malo

Nous allons maintenant programmer le vent pour qu’il traverse régulièrement la zone de Saint-Malo. Il devra repartir toujours du même endroit, dans la même direction, afin de pouvoir ensuite pousser le bateau.

Faire se déplacer le vent à Saint-Malo

Dans le sprite vent, ajoute ce script pour définir son point de départ à Saint-Malo.


À chaque apparition, le vent se replace aux coordonnées indiquées et s’oriente vers la droite avant de commencer son déplacement.

Crée une variable AngleVent pour mémoriser la direction du vent.


Choisis Pour tous les sprites afin que le voilier puisse aussi utiliser cette information.

Enregistre dans AngleVent le sens dans lequel souffle le vent.  


Le bateau pourra ensuite utiliser cette information pour se déplacer dans le bon sens.

Le vent doit traverser la zone, puis revenir à son point de départ pour recommencer.

 

Fais avancer le vent de 6 pas, 75 fois.

Quand il a terminé son passage, la grande boucle recommence et le replace au départ.

 

Faire réagir le bateau au vent 

Quand le bateau touche le vent, il va être poussé dans le sens où celui-ci souffle. Pour cela, nous allons mémoriser la direction du bateau, utiliser celle du vent pour le déplacer, puis lui redonner sa direction de départ.

Avec une boucle répéter indéfiniment pour vérifier tout au long du jeu si le bateau touche le vent.

Dès qu’il le touche, le code placé dans la condition pourra s’activer.

Crée maintenant une variable angle. Elle servira à garder en mémoire le sens dans lequel le bateau était tourné avant que le vent le pousse.

Puis, dans la condition si touche le vent, enregistre la direction du bateau dans cette variable avec « Mettre angle à direction »

 

Le bateau va être poussé par le vent sans perdre sa direction.

D’abord, il se tourne dans le sens du vent grâce à la variable AngleVent, puis il avance de 3 pas.
Ensuite, il reprend la direction qu’il avait avant grâce à la variable angle.

Ainsi, le vent déplace le bateau, mais le joueur garde le contrôle de sa direction.

 

Quitter St Malo

Le bateau peut maintenant se déplacer dans toute la zone de Saint-Malo. Nous allons utiliser la flèche verte pour lui permettre de rejoindre la zone suivante : l’Atlantique.

Détecter le passage sur la flèche

Dans le sprite Flèche , on vérifie en continu si le bateau touche la flèche.

Et si le voilier touche la flèche verte, alors on change l’arrière-plan pour afficher celui de l’Atlantique.

 

Afficher la zone Atlantique

Dans le sprite voilier, on va dire à notre programme, que lorsque l’arrière-plan passe sur Atlantique, il doit placer le bateau à son point de départ.

Puis on va le tourner dans la bonne direction.

 

Naviguer dans l’Atlantique

Dans l’Atlantique, le vent va suivre un nouveau trajet. Nous allons aussi préparer l’arrivée à Pointe-à-Pitre pour terminer la course.

Préparer le vent dans l’Atlantique

Quand on arrive dans l’Atlantique, on arrête l’ancien déplacement du vent utilisé à Saint-Malo.
Ensuite, on replace le vent à son nouveau point de départ et on l’oriente dans la bonne direction.

Le bloc « Stop autres scripts dans sprite » : Cela évite que le vent de Saint-Malo continue à fonctionner dans la nouvelle zone.

Faire tourner le vent dans l’Atlantique

Fais avancer le vent de 3 pas, puis tourne-le de 4 degrés à chaque passage dans la boucle.
Il va ainsi suivre une trajectoire courbe dans l’Atlantique.

À chaque déplacement, enregistre sa nouvelle direction dans AngleVent pour que le bateau soit toujours poussé dans le bon sens.

Terminer la course

La course se termine lorsque le bateau atteint Pointe-à-Pitre. Nous allons mesurer le temps du joueur, détecter son arrivée et afficher l’écran de fin.

Mesurer le temps de la course

Crée une variable temps pour afficher le temps écoulé depuis le début de la partie. Tout au long du jeu, elle prend la valeur du chronomètre de Scratch.

Attendre 0.1 seconde : La petite attente évite de mettre à jour la variable trop vite en permanence.

Détecter l’arrivée à Pointe-à-Pitre

On va vérifier en continu si le voilier touche la zone d’arrivée.
Quand c’est le cas, on affichera l’arrière-plan Bravo pour terminer la course.

 

Le bloc stop ce script arrête ensuite la vérification, puisque la course est terminée.

Bonus

Record

Difficile de faire un jeu autour d’une course sans faire de record, non ? Voici un code pour le réaliser dans le sprite de Pointe-à-Pitre.

Si, à la fin de la course, ton temps est inférieur au record, il faut l’enregistrer comme nouveau record.

Il faudra aussi l’enregistrer si le record actuel est à 0, ce qui veut dire que personne n’a encore fait la course.

Animer le vent

Pour animer le vent, c’est assez simple : il suffit de passer au costume suivant régulièrement.

Par contre, le problème, c’est que lorsqu’on change d’écran, on arrête les autres scripts, ce qui arrête aussi l’animation. Il faut donc faire le code de l’animation du vent dans un message qu’on enverra à chaque changement d’écran.

J’ai aussi ajouté l’effet fantôme, qui rend le vent un peu plus agréable à regarder. C’est purement optionnel.

Second Vent

Tu peux facilement ajouter un second vent en dupliquant le premier attention cependant à bien crée aussi une seconde variable et de recoder la colision dans le bateau avec ce nouveau vent.

Retour en haut