Ballon chasseur
Introduction
Dans ce projet vous apprendrez à créer un jeu de plateforme dans lequel vous devez esquiver les balles qui se déplacent et atteindre la fin du niveau.
Notes du volontaire
Ressources
Pour ce projet, scratch 2 devrait être utilisé. Scratch 2 peut ou être utilisée en ligne [à jumpto.cc/scratch-on] (http: // jumpto.cc/scratch-on) ou peut être téléchargée [de jumpto.cc/scratch-off] (http: // jumpto.cc/scratch-off) et utilisée hors connexion.
Vous pouvez trouver une version complétée de ce projet un href = “http: // scratch.mit.edu/projects/39740618 / * le rédacteur(l’éditeur)” > online/a >, ou il peut être téléchargé en cliquant sur le lien ‘ Télécharger les Matériels du Projet’ pour ce projet, qui contient :
- Dodgeball.sb2
Il y a aussi une version de ce projet avec les ressources externes préchargées. Ceci est disponible en ligne [à jumpto.cc/dodge-resources] (http: // jumpto.cc/dodge-resources), ou dans les matériels téléchargeables du projet, qui contiennent :
- DodgeballResources.sb2
Ce lien inclut aussi un dossier de ‘ les Ressources du Projet ‘, qui contient des images que les enfants devront compléter pour ce projet. Assurez-vous que chaque enfant a l’accès à une copie de ces ressources.
Ressources de projet :
- background.png
Les objectifs d’apprentissage
- Ce projet consolident l’apprentissage de compétences de programmation précédement apprises.
Défis
- “le bond Amélioré” - l’utilisation d’un block supplémentaire si pour fixer un bug de saut multiple;
- “Des balles aléatoires” - l’utilisation de aléatoire pour varier le costume de balle, la taille et l’écart entre les clones;
- “Plus d’obstacles” - ajout de lutins supplémentaires au jeu;
- “La gravité Améliorée” - l’utilisation d’un si supplémentaire pour corriger un bogue dans gravité;
- “Plus de vies” - Ajoutez des variable de vies.
Mouvement du personnage
Commençons par créer un personnage qui peut se déplacer à gauche et à droite et monter sur des échelles.
- Commencez un nouveau projet de Scratch et supprimez le lutin de chat pour que votre projet soit vide. Vous pouvez trouver l’éditeur de Scratch en ligne à jumpto.cc/scratch-new.
- Pour ce projet, vous devriez avoir un dossier de ‘Ressources du Projet’, contenant toutes les images dont vous aurez besoin. Assurez-vous que vous pouvez trouver ce dossier et demander à votre leader de club si vous ne trouvez pas cela.
- Ajoutez l’image ‘background.png’ comme nouveau fond de scène ou dessinez le vôtre! Si vous dessinez votre propre niveau, assurez-vous que les échelles et les planchers sont d’une couleur différente et qu’il y a une porte (ou quelque chose de semblable) que votre joueur doit atteindre. Voici ce que votre projet doit ressembler :
- Ajoutez un nouveau lutin qui sera votre personnage. Cela serait préférable si vous choisissez un lutin avec plusieurs costumes pour que vous puissiez le faire marcher.
- Utilisons les touches de direction pour déplacer votre personnage. Quand le joueur appuie sur la flèche droite, vous voulez que votre personnage pointe à droite, se déplace de quelques pas et change de costume:
- Testez votre personnage en cliquant sur le drapeau et maintenez la touche de direction droite. Votre joueur se déplace-t-il à droite ? Votre personnage marche-t-il ?
- Pour déplacer votre personnage vers la gauche, vous devrez ajouter un autre si à l’intérieur de votre répéter indéfiniment pour déplacer votre personnage à gauche. Rappelez-vous de tester votre nouveau code pour vous assurer ça marche !
- Pour monter une échelle rose, votre personnage devrait avancer légèrement en haut quand la flèche du haut est appuyée et qu’il touche la bonne couleur. Ajoutez ce code à l’intérieur de la boucle répéter indéfiniment de votre personnage :
- Testez votre personnage - pouvez-vous monter sur les échelles roses et arriver à la fin de votre niveau ?
Défi : Achèvement du niveau
Pouvez-vous ajouter plus de codage à votre personnage pour qu’il dise quelque chose si il arrive à la porte ?
Gravité et saut
Déplaçons votre personnage plus réellement en ajoutant de la gravité et en lui permettant de sauter.
- Vous pouvez remarquer que votre personnage peut s’éloigner d’une plateforme dans les airs. Essayez de marcher hors d’une plateforme et regardez ce qu’il se produit.
- Pour régler cela, ajoutons de la gravité à votre jeu. Créez une nouvelle variable appelée Gravité. Vous pouvez cacher cette variable de votre scène si vous voulez.
- Ajoutez ce nouveau bloc de code ce qui ajuste la gravité à un nombre négatif. Celui-ci sera ensuite utilisé à plusieurs reprises pour changer la coordonnée Y de votre personnage.
- Cliquez sur le drapeau et traînez ensuite votre personnage au sommet de la scène. Qu’est-ce qui arrive ? La gravité marche-t-elle ?
- La gravité ne devrait pas déplacer votre personnage à travers une plateforme ou une échelle! Ajoutez un bloc si à votre code pour que la gravité puisse marcher seulement quand votre personnage est dans les airs. Le code de gravité devrait maintenant ressembler à ceci :
- Testez la gravité de nouveau. Votre personnage s’arrête-t-il quand il est sur une plateforme ou une échelle ? Pouvez-vous vous éloignez du bord des plateformes et atterir sur le niveau ci-dessous ?
- Faisons aussi un saut lorsque le joueur appuie sur la barre d’espace. Il suffit uniquement de déplacer votre personnage en haut à plusieurs reprises en utilisant ce code :
Comme la gravité pousse constamment votre personnage en bas par 4 pixels, vous devez choisir un nombre plus grand que 4 dans votre Changer y par (4). Changez ce nombre jusqu’à ce que vous soyez heureux avec la hauteur de vos sauts.
- Si vous testez ce code, vous remarquerez que ça marche, mais le mouvement n’est pas très cohérent. Pour améliorer cela, vous devrez déplacer votre personnage par des quantités de plus en plus petites jusqu’à ce qu’il ne saute plus.
- Pour ceci faire, créez une autre variable appelée hauteur saut. Vous pouvez cacher cette variable encore un fois si vous préférez.
- Supprimez le premier code de saut que vous avez ajouté à votre personnage et remplacez-le par ce code :
Ce code déplace votre personnage vers le haut par 8 pixels, 7.5 pixels, 7 pixels, etc… jusqu’à ce que votre personnage ait fini de sauter.
- Changez la valeur de départ de votre hauteur saut et testez jusqu’à ce que vous soyez heureux avec la hauteur de vos sauts.
Défi : Bond Amélioré
Votre personnage peut sauter lorsque la barre d’espace est appuyée même s’il est déjà dans les airs. Vous pouvez tester cette fonction en maintenant la barre d’espace. Pouvez-vous réparer cela pour que votre personnage puisse seulement sauter si il touche une plateforme bleue?
Esquive des balles
Maintenant que vous avez votre déplacement de personnage, ajoutons quelques balles que votre personnage puisse éviter.
- Créez un nouveau lutin de balle. Vous pouvez choisir n’importe quel type de balle que vous aimez.
- Redimensionnez votre balle pour que votre personnage puisse y sauter par-dessus. Essayez de sauter par-dessus la balle pour le tester.
- Ajoutez ce code à votre balle :
Ce code crée une nouvelle balle à chaque 3 secondes. Chaque nouveau clone avance tout au long de la plateforme supérieure.
- Cliquez sur le drapeau pour tester ceci.
- Ajoutez plus de codage à votre lutin de balle pour qu’ils traversent sur toutes les 3 plateformes.
- Finalement, vous aurez besoin d’un code pour les fois où votre personnage sera frappé par une balle! Ajoutez ce code à votre lutin de balle :
- Vous devrez aussi ajouter ce code à votre personnage afin qu’il retourne à la position initiale lorsqu’il est frappé:
- Testez votre personnage et vérifiez s’il retourne au début lorsqu’il est frappé par une balle.
Défi : balles aléatoires
Les balles que votre personnage doit esquiver ont tous la même apparence et apparaissent toujours à chaque 3 secondes. Pouvez-vous les améliorer pour qu’elles :
- ne se ressemblent pas ?
- apparaissent après un temps aléatoire ?
- soient d’une taille aléatoire ?
Lasers!
Rendez votre jeu un peu plus compliqué en ajoutant des lasers!
- Ajoutez un nouveau lutin appelé ‘Laser’ à votre jeu. Il devrait avoir 2 costumes appelés ‘on’ et ‘off’.
- Placez votre nouveau laser n’importe où entre 2 plateformes.
- Ajoutez le code à votre laser pour qu’il puisse changer entre les 2 costumes.
Si vous préférez, vous pouvez Attendre un temps aléatoire entre les changements de costume.
- Finalement, ajoutez le code à votre laser pour que le message ‘hit’ soit diffusé quand le laser touche votre personnage. Ce code sera le même que vous avez ajouté à votre lutin de balle.
Vous n’avez pas à ajouter plus de codes à votre personnage, il sait déjà quoi faire lorsqu’il est frappé!
- Testez votre jeu pour voir si vous pouvez arriver devant le laser. Changer le temps attendre dans votre code si les lasers sont trop faciles ou trop difficiles. /li>
Défi : Plus d’obstacles
Si vous pensez que votre jeu est trop facile, vous pouvez ajouter plus d’obstacles à votre niveau. Vous pouvez ajouter tout ce que vous souhaitez, mais voici quelques idées :
- Un papillon tueur volant;
- Des plateformes qui apparaissent et disparaissent;
- Une chute des balles de tennis qui doivent être évitées.
Vous pourriez même créer plus qu’un fond et vous déplacer vers le niveau suivant lorsque votre personnage atteint la porte verte :
Défi : gravité améliorée
Il y a un autre petit bogue dans votre jeu : la gravité ne tire pas votre personnage vers le bas si n’importe quelle de ses parties touchent une plateforme bleue ! Vous pouvez tester cela en montant sur une échelle et en vous déplaçant ensuite à gauche.
Pouvez-vous corriger ce bogue ? Pour faire cela, vous devez changer la couleur du pantalon de votre personnage (Sur tous les costumes)…
… et remplacez ensuite le code:
avec:
N’oubliez pas de tester vos améliorations pour vous assurer que vous avez corrigé le bogue!
Défi : Plus de vies
Pouvez-vous donner 3 vies à votre joueur au lieu de les renvoyer à la position de départ à chaque fois ? Voici comment votre jeu pourrait marcher :
- Votre joueur commence par 3 vies;
- Lorsque votre joueur est frappé, une vie est perdue et ils doivent retourner à la position intiale;
- S’il ne reste plus de vies, c’est la fin du jeu.
Nous suivre