Discuss Scratch
- Discussion Forums
- » Français
- » besion d'aide
- link-potter
- Scratcher
500+ posts
besion d'aide
Dans un des projets que je fais en ce moment (un jeu de plateforme) j'utilise une liste (qui se réinitialise à chaque fois qu'on appuie sur le drapeau vert) :
à chaque fois qu'on fait une partie il ajoute ton temps aux autres et il me faudrait un script pour qu'a chaque partie où on la voit que les éléments, ils se mettent dans un ordre décroissant (du meilleur au moins bon)
à chaque fois qu'on fait une partie il ajoute ton temps aux autres et il me faudrait un script pour qu'a chaque partie où on la voit que les éléments, ils se mettent dans un ordre décroissant (du meilleur au moins bon)
- SBissay
- Scratcher
500+ posts
besion d'aide
définir Tri décroissant liste
supprimer l'élément (tout v) de la liste [temporaire v]
répéter (longueur de [liste v] :: list) fois
mettre [i v] à [1]
répéter jusqu’à <<(i) > (longueur de [temporaire v] ::list)> ou <(élément (i) de [temporaire v] :: list) > (élément (1 v) de [liste v] :: list)>>
ajouter à [i v] (1)
end
insérer (élément (1 v) de [liste v] :: list) en position (i) de la liste [temporaire v]
supprimer l'élément (1 v) de la liste [liste v]
end
répéter (longueur de [temporaire v] :: list) fois
ajouter (élément (1 v) de [temporaire v] :: list) à [liste v]
supprimer l'élément (1 v) de la liste [temporaire v]
end
Pas le plus optimisé, mais facile à comprendre et bien suffisant si la taille de ta liste n'est pas monstrueuse.
- link-potter
- Scratcher
500+ posts
besion d'aide
j'ai fait ça mais ça fait le contraire (je veux que le temps le plus gros soit tout en haut)définir Tri décroissant liste
supprimer l'élément (tout v) de la liste [temporaire v]
répéter (longueur de [liste v] :: list) fois
mettre [i v] à [1]
répéter jusqu’à <<(i) > (longueur de [temporaire v] ::list)> ou <(élément (i) de [temporaire v] :: list) > (élément (1 v) de [liste v] :: list)>>
ajouter à [i v] (1)
end
insérer (élément (1 v) de [liste v] :: list) en position (i) de la liste [temporaire v]
supprimer l'élément (1 v) de la liste [liste v]
end
répéter (longueur de [temporaire v] :: list) fois
ajouter (élément (1 v) de [temporaire v] :: list) à [liste v]
supprimer l'élément (1 v) de la liste [temporaire v]
end
Pas le plus optimisé, mais facile à comprendre et bien suffisant si la taille de ta liste n'est pas monstrueuse.
- SBissay
- Scratcher
500+ posts
besion d'aide
Ah oui, pardon, j'ai fait un tri croissant… *Facepalm*
remplace le “répéter jusqu'à” par
(donc en fait il suffit de changer le sens de l'inégalité)
remplace le “répéter jusqu'à” par
répéter jusqu’à <<(i) > (longueur de [temporaire v] ::list)> ou <(élément (i) de [temporaire v] :: list) < (élément (1 v) de [liste v] :: list)>>
(donc en fait il suffit de changer le sens de l'inégalité)
- link-potter
- Scratcher
500+ posts
besion d'aide
Comment je pourrai faire que le dernier résultat ( pas de la liste mais le dernier temps qu'on a obtenu ) se mette à clignoter ?
- SBissay
- Scratcher
500+ posts
besion d'aide
Pour faire “clignoter”, le plus simple serait de mettre successivement la valeur voulue dans la liste à “ ” (rien) et au temps obtenu.
Le truc, c'est qu'avant il faut trouver où il se trouve dans la liste.
On va supposer que tu as gardé la valeur du dernier temps dans une variable, ici nommée “dernier temps”
Après, il suffit d'avoir une boucle de ce genre :
Pour la gestion de fin de boucle, tu peux très bien avoir un bloc
et utiliser
Le truc, c'est qu'avant il faut trouver où il se trouve dans la liste.
On va supposer que tu as gardé la valeur du dernier temps dans une variable, ici nommée “dernier temps”
définir trouver indice dernier temps dans liste //à faire une fois la liste triée
mettre [indice v] à [1]
répéter jusqu’à <(élément (indice) de [Vos temps v] :: list) = (dernier temps)>
ajouter à [indice v] (1)
end
Après, il suffit d'avoir une boucle de ce genre :
répéter jusqu’à <fin affichage liste> // à toi de voir comment tu gères ça ;)
remplacer l'élément (indice) de la liste [Vos temps v] par (dernier temps)
attendre (0.5) secondes //le temps est à changer suivant la vitesse de clignotement que tu veux
remplacer l'élément (indice) de la liste [Vos temps v] par ()
attendre (0.5) secondes
end
Pour la gestion de fin de boucle, tu peux très bien avoir un bloc
définir clignoter
répéter indéfiniment
remplacer l'élément (indice) de la liste [Vos temps v] par (dernier temps)
attendre (0.5) secondes //le temps est à changer suivant la vitesse de clignotement que tu veux
remplacer l'élément (indice) de la liste [Vos temps v] par ()
attendre (0.5) secondes
end
et utiliser
stop [tout v]quand tu caches la liste, par exemple. Sinon une variable qui vaut 1 si tu es en train d'afficher et 0 sinon marche très bien aussi…
Last edited by SBissay (June 10, 2018 09:39:17)
- link-potter
- Scratcher
500+ posts
besion d'aide
Autre petite question. Comment tu fait pour prendre des petites images animées et comment tu les utilises puis d´où viennent-elles ?
ex :
ex :
Last edited by link-potter (June 16, 2018 08:40:29)
- Bouboufez
- Scratcher
1000+ posts
besion d'aide
Ben tu prends une image animée (.gif) n'importe où sur internet et tu l'importes comme n'importe quelle autre image ! Autre petite question. Comment tu fait pour prendre des petites images animées et comment tu les utilises puis d´où viennent-elles ?
ex :
- link-potter
- Scratcher
500+ posts
besion d'aide
Est-ce que y a. Des sites qui sont fait exprès pour qu'on puisse prendre des G.I.F. Animé déjà fait ?
- ma15fo43
- Scratcher
1000+ posts
besion d'aide
Bah oui… Est-ce que y a. Des sites qui sont fait exprès pour qu'on puisse prendre des G.I.F. Animé déjà fait ?
https://giphy.com/
No longer active on Scratch, I build stuff with TypeScript and Kotlin nowadays. (#3 all-time poster in French forums)
- link-potter
- Scratcher
500+ posts
besion d'aide
j'ai un problème sur ce projet : https://scratch.mit.edu/projects/227068522/#player
Quand on appuie sur le mode turbo (le bouton que j'ai créé pas celui avec MAJ+green flag) puis quand on appuie sur le bouton pause (qui est dans la barre des tache) puis on réappuie sur le bouton play la vitesse à augmenté et je n'ai pas réussi à trouver la source de ce problème .
Quand on appuie sur le mode turbo (le bouton que j'ai créé pas celui avec MAJ+green flag) puis quand on appuie sur le bouton pause (qui est dans la barre des tache) puis on réappuie sur le bouton play la vitesse à augmenté et je n'ai pas réussi à trouver la source de ce problème .
- ma15fo43
- Scratcher
1000+ posts
besion d'aide
Bah, c'est tout à fait normal…
On démarre le projet → on appuie sur le mode turbo → on appuie sur pause → on appuie sur play → le mode turbo est encore enclenché…
On démarre le projet → on appuie sur le mode turbo → on appuie sur pause → on appuie sur play → le mode turbo est encore enclenché…
No longer active on Scratch, I build stuff with TypeScript and Kotlin nowadays. (#3 all-time poster in French forums)
- lieutenant_X
- Scratcher
500+ posts
besion d'aide
Premier petit conseil : crée un nouveau fil de discussion quand tu as un nouveau problème.
Concernant ton programme, je trouve que ton code est très brouillon : dans un même lutin tu as plusieurs codes qui décrivent le comportement des clones quand tu peux en faire un seul, tu utilises tes variables chtop et turbo à tors et à travers dans tout ton programme : si il y a une logique je ne l'ai pas encore trouvé. Le bug vient sûrement de cette confusion.
Si je peux te donner un conseil, crées un nouveau projet et inspires-toi de celui là pour recréer quelque chose de similaire mais avec un code beaucoup plus épuré et plus simple.
Un conseil : évite de faire démarrer plusieurs codes dans un même lutin avec un même événement :
Concernant ton programme, je trouve que ton code est très brouillon : dans un même lutin tu as plusieurs codes qui décrivent le comportement des clones quand tu peux en faire un seul, tu utilises tes variables chtop et turbo à tors et à travers dans tout ton programme : si il y a une logique je ne l'ai pas encore trouvé. Le bug vient sûrement de cette confusion.
Si je peux te donner un conseil, crées un nouveau projet et inspires-toi de celui là pour recréer quelque chose de similaire mais avec un code beaucoup plus épuré et plus simple.
Un conseil : évite de faire démarrer plusieurs codes dans un même lutin avec un même événement :
quand je commence comme un cloneessaye au maximum d'éviter des trucs comme ça
faire action 1
quand je commence comme un clone
faire action 2
programmeur amateur et passionné toujours prêt à aider. Pour découvrir mes projets et me soutenir : Mon profil.
si (tu aimes mes conseils(::motion)(::#ffffff)(::undefine)::variables) alors
Viens voir mes projets ::motion //Ils sont cools
end
“Demandez, et l'on vous donnera; cherchez, et vous trouverez; frappez, et l'on vous ouvrira.” Luc (11, 9)
- Discussion Forums
- » Français
- » besion d'aide