Discuss Scratch

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)
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.

Generative art :              Pivot  :               Sudoku :
link-potter
Scratcher
500+ posts

besion d'aide

SBissay wrote:

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.
j'ai fait ça mais ça fait le contraire (je veux que le temps le plus gros soit tout en haut)
SBissay
Scratcher
500+ posts

besion d'aide

Ah oui, pardon, j'ai fait un tri croissant… *Facepalm*

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é)

Generative art :              Pivot  :               Sudoku :
link-potter
Scratcher
500+ posts

besion d'aide

link-potter
Scratcher
500+ posts

besion d'aide

SBissay
Scratcher
500+ posts

besion d'aide

De rien

Generative art :              Pivot  :               Sudoku :
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”

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)


Generative art :              Pivot  :               Sudoku :
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 :

Last edited by link-potter (June 16, 2018 08:40:29)

Bouboufez
Scratcher
1000+ posts

besion d'aide

link-potter wrote:

Autre petite question. Comment tu fait pour prendre des petites images animées et comment tu les utilises puis d´où viennent-elles ?
ex :
Ben tu prends une image animée (.gif) n'importe où sur internet et tu l'importes comme n'importe quelle autre image !

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

link-potter wrote:

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 ?
Bah oui…
https://giphy.com/

No longer active on Scratch, I build stuff with TypeScript and Kotlin nowadays. (#3 all-time poster in French forums)
ma15fo43
Scratcher
1000+ posts

besion d'aide

link-potter wrote:

Autres test :

Bon, c'est considéré comme du spam donc merci de se diriger vers la FAS

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 .
link-potter
Scratcher
500+ posts

besion d'aide

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é…

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 :
quand je commence comme un clone
faire action 1

quand je commence comme un clone
faire action 2
essaye au maximum d'éviter des trucs comme ça

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)

Powered by DjangoBB