Bonjour à tous j'ai un DM de maths à rendre pour Mercredi (et oui mon prof donne des devoirs pour les vacances !). Je dois faire un programme scratch qui illustre une vidéo pour pouvoir faire pareil. Le problème c'est que c'est une vidéo donc je ne vais pas pouvoir la mettre. Je dois m'aider de ces blocs:
rebondir si le blocs est atteint
attendre une seconde
effacer tout
stylo en position d'écriture
s'orienter à 90
nombres de murs touchés
mettre nombre de murs touchés à ......
avancer de 10
aller à : x 167 y 116
tourner de 15 degrès
estampiller
nombres aléatoires entre 1 et 10
répéter jusqu'à ...
........=.......
mettre 100% de la taille initial
bords touchés
répéter 10 fois
si ....... alors
relever le stylo
ajouter 10 à l'intensité du stylo
Alors voilà j'espère de tous coeur que quelqu'un pourra m'aider. Bonne chance
Bonjour,
tous ces blocs là sont en vrac et sont à utiliser et organiser "comme il faut" ?
il est bien évident que sans savoir ce que ça doit donner, il est totalement impossible de savoir quoi faire avec !!
lien vers la video ?
de plus l'écriture de Scratch elle même est très "graphique" (la syntaxe est définie par des empilements de couche et la forme des blocs)
une image de ces blocs serait utile .
*** citation INUTILE du message juste au dessus ***
Bonjour, merci pour l'intérêt que vous mettez pour pouvoir m'aider voici l'image.
on voit déja qu'il ne s'agit pas de rebondir sur des blocs mais sur les bords
que la taille passe à 110% et pas 100% ("modifier" la taille à 100% ne faisait rien !)
heureusement que tu les a photographiés, à défaut de les avoir recopiés correctement
mais de toute façon on ne sait toujours pas ce qu'il faut faire comme déplacements, sans la vidéo...
on peut toujours faire "n'importe quoi" avec "ça"
"répéter jusqu'à" nécessite une condition, c'est à dire l'un des blocs en losanges < >
"si " utilisera l'autre
réfléchissons un peu ..
"répéter jusqu'à < bord touché >" serait idiot vu que on s'arrêterait au premier bord et "rebondir" serait inutile.
donc ce sera :
"répéter jusqu'à < ?? = ?? >"
et "si < bord touché >"
que va-t-on "répéter" ? un déplacement pardi ...
et que va-t-on faire si on touche le bord ?
rebondir dessus et compter combien de fois cela a eu lieu, dans la variable "nombre de murs touchés"
peut être aussi "estampiller", qui sait ...
ça commence à prendre forme.
reste à savoir que va-t-on mettre dans le test < ?? = ?? >
il n'y a pas grand chose que l'on peut tester comme valeurs numériques variables !!
reste à compléter avec les blocs pas encore utilisés, de façon pas trop bête pour que ça fasse quelque chose...
(comment se placer au départ et dans quel état, comment se déplacer, que faire à la fin, ...)
mais va savoir si ça correspondra à la vidéo ... mystère et boule de gomme.
avec quelques petites entorses aux blocs imposés
- un test "=" peut ne jamais se produire : une fois que le nombre de murs touchés à dépassé 10 sans avoir "par hasard" été égal au nombre aléatoire tiré, le script ne peut plus s'arrêter ... remplacer le test "=" par un test " > "
- rajouter le bloc qui fait progresser le nombre de murs touchés (le mettre à 0 et ne jamais le modifier ne sert à rien !)
on peut obtenir du genre de ça à la fin :
J'ai peut-être trouver quelque chose mais je ne sais pas si cela peut fonctionner dans le
bloc "=" on peut mettre (nombres aléatoire entre 1 et 10) et (nombres de murs touchés) car ils ont les bords arrondies donc il doivent se trouver à l'intérieur de quelque chose.
- cette image finale de la video ne correspond pas à l'arrière plan "Sparking" mais à "Night city" , bof, on s'en fiche un peu de quel arrière plan on choisit .
- il n'y a aucun "estampillage" du lutin vu qu'il n'y a aucun lutin sur cette image !
que les traces qu'il a laissées avec le stylo
à moins que le lutin choisi ne soit pas du tout le lutin "standard" (le chat) mais un simple rond ?? et certainement pas à 110% de la taille d'origine (mais plutôt à 10% !!)
- la trace varie de largeur et de couleur de nombreuses fois et pas
"mettre la couleur à une valeur fixe" et ne jamais modifier la taille du stylo (l'épaisseur du trait)
bref cette image est incompatible avec les blocs proposés tels qu'ils sont.
d'ailleurs :
"nombre de murs touchés = nombre aléatoire entre 0 et 10" provoque comme je l'ai dit un bouclage infini aléatoire :
de 1 mur à 10 murs touchés, je peux ne jamais avoir eu l'égalité avec le nombre aléatoire qui change à chaque fois
et à partir de ce moment il est impossible que le nombre de murs > 10 puisses être égal à un nombre < 10 !
c'est ce que je disais, le seul test un tant soit peut utile est
< nombre de murs touchés > nombre aléatoire entre 0 et 10 >
(voire entre 10 et 50 plutôt si on veut avoir un trajet plus long)
de plus le nombre de murs touchés affiché dans l'image est > 10 !
(et de toute façon aucun bloc proposé ne permet de faire évoluer ce nombre)
bref on met quasiment à la poubelle la proposition de blocs ou on la modifie et on invente :
des valeurs différentes, ajouter un bloc sur la taille du stylo etc;
"car ils ont les bords arrondies" qui ça ??? les murs ? surement pas !
le lutin ? peut être, si on a changé le lutin d'origine,..
bref avec tout un tas de modifs sur les blocs proposés, on peut obtenir ça :
Bonjour merci pour votre mais à vrai dire je n'ai pas très bien compris, parce que je peux mettre beaucoup de chose en première place dans le programme de construction. Est-ce que ce serait possible que vous m'expliquiez plus clairement même si vous m'avez déjà été d'une très grande aide.
il y a diverses phases dans le programme,
phase 1 : initialisation :
au début il faut placer le lutin (le ballon de basket ) à un endroit précis , visant dans une direction précise et de lui dire qu'il va tracer des traits d'une certaine couleur et épaisseur et d'effacer ce qui trainait avant à l'écran.
(je l'ai mis sur fond blanc pour mieux voir au lieu du fond "Night city", ou "sparkling"
je l'ai fait avancer un peu pour voir comment il va avancer ensuite)
quels sont les blocs permettant de dire cela ?
il faut ajouter deux blocs par rapport à ceux proposés
un bloc qui permet de lancer le script :
traditionnellement le bloc "quand le drapeau est cliqué"
et comme on va faire varier l'épaisseur du trait, un bloc définissant cette épaisseur
"mettre la taille du stylo à [...]"
de plus avant même d'écrire quoi que ce soit il faut
- importer le lutin "ballon de basket" à la place du lutin "chat" par défaut
et se placer "dans" ce lutin (chaque lutin a son propre script)
- importer le fond "Night city", ou "Sparkling"
- si on travaille avec Scratch en ligne (qui est en fait Scratch 3) importer le module "stylo" qui n'est pas présent par défaut comme en Scratch 2.
- définir la variable "nombre de murs touchés"
(tout ça ne fait pas partie du script, mais est indispensable pour qu'il fonctionne correctement)
faire tout ça et vérifier ce que ça donne
ensuite on s'attaquera à :
Phase 2 les déplacements :
les boucles gérant les déplacements, changements de couleurs et d'épaisseur du stylo et comptant les rebonds.
une boucle
tant que < nombre de murs < nombre aléatoire >
et PAS < nombre de murs = nombre aléatoire > qui ne marche PAS, déja dit et répété.
et dans cette boucle, des déplacements , tests de rebonds etc...
Bonjour désoler de vous déranger une seconde fois mais l'orsque je veux que le ballon avance et qu'il touche le murs il y a que le blocs "aller à x=167 et y=116" mais cela ne touche pas le bord elle il n'y a pas d'autre blocs que je peux utiliser .
pour que le ballon se déplace : "avancer de 10" pardi ..
normalement tu devrais avoir un truc de ce genre là :
ce qui donnera :
pourquoi déplacer de 10 seulement et pas d'un seul coup 1000 (100 fois 10) ?
parce que si le déplacement élémentaire (de 10 ) était trop long, on pourrait rater le rebond
même avec 10 cela arrive de le rater : observer le petit décrochement qui se produit sur le rebond du bord gauche
c'est pour ça que dans le script on va avoir :
répéter tant qu'on veut
| répéter 10 fois
| | avancer de 10
[ | rebondir
| | etc
| +---
| etc
+-----
ton script est illisible il faut faire une image du seul script en gros plan et encore, pour un gros script c'est pas gagné en photo ...
(le recopier en texte est assez pénible, je le conviens, mais ce serait la seule façon de le rendre lisible)
une remarque : tu dupliques un certain nombre d'actions
on ne fait jamais comme ça
on les répète en utilisant une boucle. c'est à ça que ça sert les boucles !
pour les changements de couleur j'ai déja dit que les blocs proposés ne conviennent pas vraiment
on utilisera le bloc :
ajouter ( une valeur ) à la couleur du stylo
ou
mettre la couleur du stylo a (une valeur numérique)
par exemple aléatoire entre 0 et 200
tout pourra alors être dans des boucles sans avoir à dupliquer
le bloc proposé "ajouter 10 à l'intensité du stylo " agit aussi sur la couleur mais ne change pas la couleur elle même, seulement l'intensité de cette couleur, sa "saturation", de 0 à 100
par exemple va du bleu pale (100) au bleu très foncé (0) mais reste du bleu.
Bonjour voici ce que j'ai fais. Il me reste plus qu'a inclure les deux blocs qui sont sur le coté ainsi que la couleur mais je ne vois pas ou je peux la mettre ?
on n'y voit toujours rien. (il est inutile de mettre dans l'image du script tout ce qu'il y a à gauche : le menu de Scratch et la zone de dessin sur laquelle il n'y a encore rien ont inutiles dans l'image ...)
on devine (vu que c'est à peine lisible) plusieurs problèmes graves sur ton script :
- "mettre nombre de murs touchés à 0" ne doit pas être à l'intérieur de la boucle mais dans l'initialisation (avant les boucles)
sinon ce nombre restera toujours à 0 et ne sert à rien du tout !!
de plus aucune instruction ne le fait progresser ! (déja dit la liste de blocs imposés est loufoque) ça ne progresse pas tout seul par magie !
- "effacer tout" après que tout est tracé, à la fin ?? donc tout le tracé effectué disparait, et on a bossé pour rien !
là aussi tout ce que tu as mis à la fin (après les boucles) doit en fait être mis avant , dans l'initialisation
- "estampiller" la position finale ne sert à rien du tout
"estampiller" sert à marquer une position avec une copie de l'image du ballon avant de la quitter.
donc pendant le trajet
quand ça ?
bein ..."si bord touché" !
sinon on ne voit pas quand d'autre.
et dans les boucles.
Mais j'ai mis "effacer" tout là-bas parce que dans la vidéo tout s'efface pour aller sur le fond sparkling. Et je n'ai pas compris pourquoi vous m'avez dit que ce qui est dans la boucle ne sert à rien ?
la dernière image c'est ce que tu avais donné le 13-02-21 à 17:23
ce n'est pas effacé !
c'est "mettre nombre de murs touché à 0" qui ne sert à rien (et est même nuisible dans la boucle, pas le reste !
moi je vois ça comme ça :
ce qui donne :
les 6 rebonds = les 6 images "estampillées" du ballon
reste à gérer, dans la boucle, les changements de couleur.
et là aussi les blocs proposé tels quels ne permettent pas de faire ce qu'on voudrait faire.
c'est comme pour le bloc manquant et nécessaire "ajouter à nombre de murs touchés 1"
car sans ce bloc là "nombre de murs touchés" resterait éternellement à 0 !
Merci beaucoup pour toute votre aide. Je vais jute changer quelques petite choses car il faut toucher 100 murs .
Bonjour mais si je fais pour qu'il y est 100 rebonds je dois mettre "nombres aléatoire entre 5 et 10" ?
bein si tu veux 100 rebonds tu ne mets pas "nombre aléatoire" du tout mais tu mets "100"
"répéter jusqu'à nombre de murs touches = 100"
"nombre aléatoire" si tu dois obligatoirement l'utiliser servira à autre chose (la couleur par exemple)
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :