====== Tron ====== 2 joueurs. Chaque joueur à une moto qui laisse une trace derrière lui. Si un joueur touche une trace, il perd. {{url>http://scratch.mit.edu/projects/embed/189477588/?autostart=false 485,402 noscroll noborder}} ===== Création du premier joueur ===== On crée un nouveau lutin en forme de moto. {{:d8e6b46021c1a7b4c0ce7b8f9765bd10.png}} La moto est dirigée vers la droite. {{:d60fe06ce9c31bcc29d9e94cabc0d094.png}} Pour tester : {{:df59c012c6e797e6194c33b972cb1201.png}} Le problème rencontré est que la couleur affichée à l'écran n'est pas celle demandée (le bleu est un peu plus clair). {{:e44fe70b1c425aa26b8a0588372371c0.png}} Cela est due à la fonction antialiasing de scratch (sur la version web). Elle permet normalement de faire des traits sans effet "escalier". Avec un trait de largeur 3, on obtient : {{:cde757e9a9d18fd8daa3d3ca44760618.png}} Avec un trait de largeur 2, on obtient : {{:f9f11ceecb51e3380dcc4a6b8339488f.png}} On trace donc un trait de largeur 2. {{:43684b33e504b76e8230d1d88b2aa2c6.png}} On rajoute maintenant les touches de direction : {{:6790052b1bbc022aa18f8355a0394725.png}} Le problème rencontré et que la moto tourne trop vite et on tourne trop facilement de 2 fois 90°, on se retourne complètement. Il faut donc que le programme ne tourne qu'une seule fois quand on appuie sur la touche. {{:56ef8502da5192ec205e59e2885674a8.png}} Cela fonctionne mais la moto n'avance plus si je reste appuyé sur la touche gauche… Il faut donc séparer la partie "Avancer" et la partie "Tourner". {{:cefbd9f44f4cd6910ccd27930350e4a8.png}} Maintenant la moto se déplace correctement. On rajoute la partie du programme qui stoppe le jeu quand le joueur touche une trace. {{:3331538218d31a2b5660515906e1c8ae.png}} Le problème est que le jeu s'arrête dès que je touche car en tournant, la flèche touche la trace. {{:6482f3fbcdc5d003dd75e92a543131e8.png}} On résout ce problème en décalant légèrement le centre du lutin : - avant : {{:d60fe06ce9c31bcc29d9e94cabc0d094.png}} - après : {{:f4f6a4faa3eeb5309f3538422924d8e9.png}} Le trait n'est pas tracé immédiatement après la moto. {{:d85323f741469f12f2a9ea10990f435b.png}} Le jeu s'arrête quand on touche la trace : {{:05c80f74cb532333b39284187dd98a47.png}} ===== Création du deuxième joueur ===== On duplique le premier lutin. {{:d70b2d2e8b486494137791714a88c7d7.png}} On change les couleurs et les touches (Q = gauche, D = droite). On le fait partir du centre (un peu décalé pour ne pas toucher l'autre joueur) mais vers la gauche. {{:841c491a9dd5be53ffab87cf447406c3.png}} {{:d1a6682c5a6b2c060f833bd73eb90579.png}} ===== Collision entre joueurs ===== La boucle doit s'arrêter quand la moto1 touche la trace de la moto2. Idem pour la moto2. Pour la moto1 : {{:a93702e0aee56d218dd9bc7a73699cc5.png}} Pour la moto2 : {{:3384715920a2990cd07b2840188c9cdb.png}} Quand un des joueurs touche une trace, il indique qu'il a perdu et le jeu est stoppé. {{:463aef84837fef524dd3404f9413bb97.png}} {{:feb99f368e333b504be38e51933619fe.png}} {{:450860460f595184a1be002fca717f2d.png}}