Programmer avec le langage Linotte
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.

Programmer avec le langage LinotteConnexion

Besoin d'un conseil sur la programmation en Linotte ?

Le Deal du moment : -40%
-40% sur le Pack Gaming Mario PDP Manette filaire + ...
Voir le deal
29.99 €

descriptionNouvelles fonctions EmptyNouvelles fonctions

more_horiz
Pour l'autre fonction, c'est une bonne idée. Il faut voir comment se comporter pour chaque condition.

Sinon, $imon, tu avais proposé une espèce graphique qui permettait d'afficher des formes complexes. en fait, je n'ai pas trouvé de solution alors j'ai opté pour l'utilisation des objets SVG.
C'est dans le nouvelle version alpha.

descriptionNouvelles fonctions EmptyNouvelles fonctions

more_horiz
Ok.
Sinon, serait-il possible que tu puisse inventer:

"Les Grands Actions"?
Ce serait les actions les plus prioritaires!^^
Elles passeraient avant toutes les autres. Cela permettrait de ne pas répéter de phrases dans les paragraphes concernés!
On le mettrait après "Les Grands Rôles".

Et quelque chose qui dit à Linotte de revenir à la ligne automatiquement pour les graffitis et les textes? Ce serait très pratique!^^

descriptionNouvelles fonctions EmptyNouvelles fonctions

more_horiz
l'utilité étant la "simplification de la vie" :;
):

C'est justement pour cette raison qu'il faudrait cette fonction.

De plus, le langage Linotte doit rester simple, c'est vrai... mais cette fonction ne peut pas non plus l'encombrer, puisqu'on n'est pas obligé de l'utiliser.
Aussi, cela reviendrait à dire qu'il faut arrêter de compléter le langage Linotte...

Pourquoi, alors, refuser l'ajout de cette fonction, puisqu'elle n'a rien de plus que les autres ou de "moins pratique", si ce n'est que de faciliter la vie du programmeur?

Aussi, le verbe "aller" encombre Linotte, puisqu'il ne marche plus et qu'il faut le remplacer par "parcourir"!
Pourquoi ne pas le remplacer par ma fonction? je parle de "aller"

descriptionNouvelles fonctions EmptyNouvelles fonctions

more_horiz
lorsque Ronan fait une fonction spéciale( = verbe spécial ), cela revient à dire à Linotte de faire les calculs nécessaires à chaque fois que la fonction est uttilisée.

par exemple, le verbe "vider X" cela revient à faire l'opération "X = 0".

Deuxième exemple : "Déplacer ACTEURGRAFFIQUE vers la gauche de Y" revient au meme que "x de ACTEURGRAFFIQUE = x de ACTEURGRAFFIQUE - Y


la fonction que tu proposes est "Déplacer ACTEURGRAFFIQUE_1 vers ACTEURGRAFFIQUE_2". Si Ronan veut la créer, il faudra qu'il "dise" à Linotte deffectuer les opérations suivantes dès qu'il la recontre :

- x de ACTEURGRAFFIQUE_1 = x de ACTEURGRAFFIQUE_2 + ( largeur de ACTEURGRAFFIQUE_2 - largeur de ACTEURGRAFFIQUE_2 ) / 2

- y de ACTEURGRAFFIQUE_1 = y de ACTEURGRAFFIQUE_2 + ( hauteur de ACTEURGRAFFIQUE_2 - hauteur de ACTEURGRAFFIQUE_2 ) / 2


Que ce soit toi ou une foncion spéciale qui fasse ces oérations, cela revient strictement au meme. Cela te simplifierait juste la vie.
( Ronan dit moi si j'ai fais une erreur )


Personnelement, je suis contre cette fonctin car je pense qu'il faut éviter d'emcombrer Linotte de trop de fonctions si on veut que cela reste un language simple. Après, elle a tout de meme une uttilité.. A voir...

descriptionNouvelles fonctions EmptyNouvelles fonctions

more_horiz
Aaaaah, en effet, c'est un autre point de vue!
Je n'y avais pas pensé... tu sa raison en fait.
Sinon, pour l'autre fonction (pouvoir faire avec les casiers tout ce qu'on peut faire avec les acteurs), tu penses que tu peux le faire?^^

descriptionNouvelles fonctions EmptyNouvelles fonctions

more_horiz
En fait, il faut trouver un juste milieu... C'est ça le plus dur !!!
Linotte est un langage pour apprendre à programmer. Il propose des outils qui permettent d'apprendre et de s'améliorer.
Ce que tu veux faire est un très bon exercice pour progresser ! C'est pour ça que je ne veux pas implémenter de verbe pour le faire.

descriptionNouvelles fonctions EmptyNouvelles fonctions

more_horiz
Heu... je ne sais pas... désolé...
Mais, de toute façon, il faudrait modifier les valeurs de x et de y, ca prendrait plus de temps que cette fonction! ^^
Puis les boucles nous feraient elles-aussi perdre du temps :;
):

descriptionNouvelles fonctions EmptyNouvelles fonctions

more_horiz
Pour le 1, je vais regarder.
Pour le 2, ça, tu devrais pouvoir le faire avec des boucles ?

descriptionNouvelles fonctions EmptyNouvelles fonctions

more_horiz
Voici quelques fonctions qui devraient être ajoutées à Linotte: ^^


I- Les Casiers
-si acteur est (condition) alors (résultat) le casier
En fait, il faudrait qu'on puisse faire avec les casiers quasiment toutes les choses qu'on peut faire avec des acteurs! c'est urgent!


II-Le Déplacement d'acteur graphique vers un autre acteur graphique
-déplaces acteur1graphique vers acteur2graphique
En fait, acteur1graphique est dans ce cas-ci un rectangle. On dit à Linotte de le déplacer vers acteur2graphique, qui est un rectangle légèrement plus grand que acteur1graphique. Linotte va donc déplacer acteur1graphique au centre de acteur2grahique.
On pourrait le faire en mettant les valeurs de x et y, mais je trouve que ca prend beaucoup de temps.

Voilà... pour l'instant :p
N'oubliez pas de me répondre, surtout :;
): !

descriptionNouvelles fonctions EmptyNouvelles fonctions

more_horiz
[quote=dod]Ok.
Sinon, serait-il possible que tu puisse inventer:

"Les Grands Actions"?
Ce serait les actions les plus prioritaires!^^
Elles passeraient avant toutes les autres. Cela permettrait de ne pas répéter de phrases dans les paragraphes concernés!
On le mettrait après "Les Grands Rôles".

Et quelque chose qui dit à Linotte de revenir à la ligne automatiquement pour les graffitis et les textes? Ce serait très pratique!^^[/quote]
- Oui, mais des grandes actions sont lancées quand ??
- Pour le retour à la ligne... c'est vrai que je devrais faire quelques choses...

descriptionNouvelles fonctions EmptyNouvelles fonctions

more_horiz
Retour à la ligne: super! merci ^^ ca serait beaucoup plus pratique!

Sinon, pour "les grandes actions":
Je pense qu'il faut se limiter à des conditions (si... alors...). Lorsque cette condition sera vraie, elle sera effectuée avant une autre action.

Tu penses que ca marchera?

descriptionNouvelles fonctions EmptyNouvelles fonctions

more_horiz
ça ressemble pas aux souffleurs ta description ???

descriptionNouvelles fonctions EmptyNouvelles fonctions

more_horiz
Si, mais les souffleurs ne peuvent intervenir que dans les paragraphes. Du coup, il faut toujours écrire le souffleur, si on veut que ce souffleur soit valable pour tout le livre.

Alors qu'avec les Grandes Actions, comme pour les Grands Rôles, on pourra faire ce souffleur pour tout le livre en ne l'écrivant qu'une fois.

Qu'en penses-tu?


Ah... je crois qu'il serait utile de donner un statut à certains verbes.
Ce que j'entends par statut, c'est soit "absent" soit "activé".
Par exemple:

demande questiondel'utilisateur
si questiondel'utilisateur est activé alors affiche "je ne sais pas.."

questiondel'utilisateur étant un texte vide.

descriptionNouvelles fonctions EmptyNouvelles fonctions

more_horiz
En ce cas, il faudrait mieux les appeler 'les grands souffleurs'ou 'les souffleurs principaux'. J'uttilise très peu les souffleurs, mais je proffite de ce sujet pour signaler une chose: lorsque on crée un acteur dans un paragraphe, celui-ci ne peut etre uttilisé que dans le paragraphe, et non dans le livre entier. ( a moins de l'insérer dans un casier ) Est-ce qu'il serait possible que les acteus créés dynamiquement soient disponibles dns le livre entier ? (je vais mettre cette idée dans le brainstorming )

descriptionNouvelles fonctions EmptyNouvelles fonctions

more_horiz
Je suis d'accord pour la totalité de ton message, Simon ^^

Juste une question...
A quoi sert de créer dynamiquement un acteur? Pourquoi ne pas le mettre directement dans "Les Grands Rôles"?

descriptionNouvelles fonctions EmptyNouvelles fonctions

more_horiz
si jamais tu veux uttiliser une centaine d'acteurs de meme type (une centaine de points , etc...)
c'est beaucoups plus rapide

par exemple :

Code:

livre :
GRAVITE

les espèces :

( l'espece point+ est un point avec quatre valeurs en plus qui déterminent sa vitesse et sa trajectoire)
>
droite est un nombre
>
gauche est un nombre
>
bas est un nombre
>
haut est un nombre
l'espèce point+ hérite de point et contient >
droite , >
gauche , >
bas , >
haut

les grands rôles :

BALLES est un nombre valant 100
VITESSE est un nombre valant 100

casier_ est un casier de point+
nbr_point est un nombre vide
plus est un point+ , taille est 10 , >
gauche est 0 , >
bas est 0 , >
droite est 0 , >
haut est 0
ligne-sol est une ligne , x1 est 0 , x2 est 1000 , y1 est 500 , y2 est 500
compteur est un nombre vide
point-actuel est un nombre

paragraphe :
début
rôles :

actions :

efface le tableau
efface la toile
projette ligne-sol
copie 0 dans compteur
vide casier_
nbr_point = -1
va vers apparition

paragraphe :
apparition
rôles :

alea est un nombre
phrase est un texte
actions :

( création dynamique d'acteurs point+ )
ajoute 1 dans nbr_point
concatène "#" , nbr_point dans phrase
Créé phrase un acteur point+
ajoute <
phrase>
dans casier_
alea = 350
mélange alea
ajoute 150 dans alea
copie alea dans x de casier_ { nbr_point }

( caractéristiques des points )
copie 30 dans y de casier_ { nbr_point }
projette casier_ { nbr_point }
copie 10 dans taille de casier_ { nbr_point }
copie 0 dans >
gauche de casier_ { nbr_point }
copie 0 dans >
droite de casier_ { nbr_point }
copie 0 dans >
bas de casier_ { nbr_point }
copie 0 dans >
haut de casier_ { nbr_point }

( pour la couleur )
alea = 7
mélange alea
si alea est égal à 0 alors copie "rouge" dans couleur de casier_ { nbr_point }
si alea est égal à 1 alors copie "vert" dans couleur de casier_ { nbr_point }
si alea est égal à 2 alors copie "bleu" dans couleur de casier_ { nbr_point }
si alea est égal à 3 alors copie "blanc" dans couleur de casier_ { nbr_point }
si alea est égal à 4 alors copie "noir" dans couleur de casier_ { nbr_point }
si alea est égal à 5 alors copie "violet" dans couleur de casier_ { nbr_point }
si alea est égal à 6 alors copie "bordeaux" dans couleur de casier_ { nbr_point }
va vers force-1

paragraphe :
force-1
rôles :

valeur est un nombre
actions :


valeur = BALLES - nbr_point
valeur = valeur / VITESSE
si valeur est plus petit que 1 alors copie 1 dans valeur
attends valeur millisecondes

pour chaque casier_ , parcours force-2
(pour chaque nbr_point , parcours force-3)
va vers remise à zéro

paragraphe :
force-2
rôles :

valeur est un nombre
alea est un nombre
#graffiti est un graffiti , x est 100 , y est 100 , couleur est "zinzolin"
actions :

( affichage )
concatène nbr_point , " billes" dans texte de #graffiti
projette #graffiti

( la bille tombe )
ajoute 2 dans >
bas de joker

( résistance de l'air )
si >
haut de joker est plus grand que >
bas de joker alors ajoute 1 dans >
bas de joker

( annulation des forces contraires )
si >
bas de joker est plus petit que >
haut de joker alors copie >
bas de joker dans valeur
sinon , si >
haut de joker est plus petit que >
bas de joker alors copie >
haut de joker dans valeur
sinon , copie >
haut de joker dans valeur
>
bas de joker = >
bas de joker - valeur
>
haut de joker = >
haut de joker - valeur

( déplacement )
tu déplaces joker vers le haut de >
haut de joker
tu déplaces joker vers la gauche de >
gauche de joker
tu déplaces joker vers la droite de >
droite de joker
tu déplaces joker vers le bas de >
bas de joker

( rebond sur le sol )
si y de joker est plus grand que y1 de ligne-sol alors >
haut de joker = >
bas de joker + >
haut de joker
si y de joker est plus grand que y1 de ligne-sol alors vide >
bas de joker
si y de joker est plus grand que y1 de ligne-sol alors copie y1 de ligne-sol dans y de joker

alea = 2
mélange alea
soustrais 1 dans alea
ajoute alea dans y de joker

reviens

(Paragraphe :
force-3
Rôles :

Actions :

point-actuel = joker
pour chaque casier_ , parcours force-4
reviens

Paragraphe :
force-4
rôles :

anticollision est un nombre
position est un nombre
actions :

anticollision = 0
si casier_ { point-actuel } est en collision avec le joker alors anticollision = 1
si anticollision est différent de 1 alors reviens
position = 0
si x de casier_ { point-actuel } est plus petit que x de joker alors position = position + 2
si x de casier_ { point-actuel } est plus grand que x de joker alors position = position + 3
si y de casier_ { point-actuel } est plus petit que y de joker alors position = position * 1
si y de casier_ { point-actuel } est plus grand que y de joker alors position = position * 2

si position est égal à 0 alors reviens

si position est égal à 2 alors >
haut de casier_ { point-actuel } = >
haut de casier_ { point-actuel } + >
haut de joker + 3
si position est égal à 2 alors >
gauche de casier_ { point-actuel } = >
gauche de casier_ { point-actuel } + >
gauche de joker + 3
si position est égal à 2 alors >
bas de joker = >
bas de casier_ { point-actuel } + >
bas de joker + 3
si position est égal à 2 alors >
droite de joker = >
droite de casier_ { point-actuel } + >
droite de joker + 3
( si position est égal à 2 alors >
haut de casier_ { point-actuel } = >
haut de casier_ { point-actuel } - >
bas de joker
si position est égal à 2 alors >
gauche de casier_ { point-actuel } = >
gauche de casier_ { point-actuel } - >
droite de joker
si position est égal à 2 alors >
bas de joker = >
bas de joker - >
haut de casier_ { point-actuel }
si position est égal à 2 alors >
droite de joker = >
droite de joker - >
gauche de casier_ { point-actuel } )

si position est égal à 3 alors >
haut de casier_ { point-actuel } = >
haut de casier_ { point-actuel } + >
haut de joker + 3
si position est égal à 3 alors >
droite de casier_ { point-actuel } = >
droite de casier_ { point-actuel } + >
droite de joker + 3
si position est égal à 3 alors >
bas de joker = >
bas de casier_ { point-actuel } + >
bas de joker + 3
si position est égal à 3 alors >
gauche de joker = >
gauche de casier_ { point-actuel } + >
gauche de joker + 3
( si position est égal à 3 alors >
haut de casier_ { point-actuel } = >
haut de casier_ { point-actuel } - >
bas de joker
si position est égal à 3 alors >
droite de casier_ { point-actuel } = >
droite de casier_ { point-actuel } - >
gauche de joker
si position est égal à 3 alors >
bas de joker = >
bas de joker - >
haut de casier_ { point-actuel }
si position est égal à 3 alors >
gauche de joker = >
gauche de joker - >
droite de casier_ { point-actuel } )

si position est égal à 4 alors >
bas de casier_ { point-actuel } = >
bas de casier_ { point-actuel } + >
bas de joker + 3
si position est égal à 4 alors >
gauche de casier_ { point-actuel } = >
gauche de casier_ { point-actuel } + >
gauche de joker + 3
si position est égal à 4 alors >
haut de joker = >
haut de casier_ { point-actuel } + >
haut de joker + 3
si position est égal à 4 alors >
droite de joker = >
droite de casier_ { point-actuel } + >
droite de joker + 3
( si position est égal à 4 alors >
bas de casier_ { point-actuel } = >
bas de casier_ { point-actuel } - >
haut de joker
si position est égal à 4 alors >
gauche de casier_ { point-actuel } = >
gauche de casier_ { point-actuel } - >
droite de joker
si position est égal à 4 alors >
haut de joker = >
haut de joker - >
bas de casier_ { point-actuel }
si position est égal à 4 alors >
droite de joker = >
droite de joker - >
gauche de casier_ { point-actuel } )

si position est égal à 6 alors >
bas de casier_ { point-actuel } = >
bas de casier_ { point-actuel } + >
bas de joker + 3
si position est égal à 6 alors >
droite de casier_ { point-actuel } = >
droite de casier_ { point-actuel } + >
droite de joker + 3
si position est égal à 6 alors >
haut de joker = >
haut de casier_ { point-actuel } + >
haut de joker + 3
si position est égal à 6 alors >
gauche de joker = >
gauche de casier_ { point-actuel } + >
gauche de joker + 3
( si position est égal à 6 alors >
bas de casier_ { point-actuel } = >
bas de casier_ { point-actuel } - >
haut de joker
si position est égal à 6 alors >
droite de casier_ { point-actuel } = >
droite de casier_ { point-actuel } - >
gauche de joker
si position est égal à 6 alors >
haut de joker = >
haut de joker - >
bas de casier_ { point-actuel }
si position est égal à 6 alors >
gauche de joker = >
gauche de joker - >
droite de casier_ { point-actuel } )

reviens
)



paragraphe :
remise à zéro
rôles :

alea est un nombre
actions :

copie 40 dans alea
mélange alea
ajoute 1 dans compteur
si nbr_point est plus grand que 100 alors alea = 0
si nbr_point est plus grand que BALLES alors va vers force-1
si compteur est plus grand que alea alors vide compteur
si compteur est ( plus grand que alea ) égal à 0 alors va vers apparition
va vers force-1

les parties de livre entre parenthese servent si tu veux faire en sorte que les billes se cognent mais ça ralentit énormement la lecture
tu peux modifier le nombre de billes en changeant l'acteur "BALLES" ainsi que la vitesse avec "VITESSE"
ici , la création dynamique évite d'avoir à réécrire les grands rôles des que tu veux changer le nombre de billes

descriptionNouvelles fonctions EmptyNouvelles fonctions

more_horiz
[quote=$imon]je proffite de ce sujet pour signaler une chose: lorsque on crée un acteur dans un paragraphe, celui-ci ne peut etre uttilisé que dans le paragraphe, et non dans le livre entier. ( a moins de l'insérer dans un casier ) Est-ce qu'il serait possible que les acteus créés dynamiquement soient disponibles dns le livre entier ? (je vais mettre cette idée dans le brainstorming )[/quote]
Ok, ça sera corrigé pour la prochaine version !

descriptionNouvelles fonctions EmptyNouvelles fonctions

more_horiz
[quote=$imon]si jamais tu veux uttiliser une centaine d'acteurs de meme type (une centaine de points , etc...)
c'est beaucoups plus rapide

par exemple :

Code:

livre :
GRAVITE

les espèces :

( l'espece point+ est un point avec quatre valeurs en plus qui déterminent sa vitesse et sa trajectoire)
>
droite est un nombre
>
gauche est un nombre
>
bas est un nombre
>
haut est un nombre
l'espèce point+ hérite de point et contient >
droite , >
gauche , >
bas , >
haut

les grands rôles :

BALLES est un nombre valant 100
VITESSE est un nombre valant 100

casier_ est un casier de point+
nbr_point est un nombre vide
plus est un point+ , taille est 10 , >
gauche est 0 , >
bas est 0 , >
droite est 0 , >
haut est 0
ligne-sol est une ligne , x1 est 0 , x2 est 1000 , y1 est 500 , y2 est 500
compteur est un nombre vide
point-actuel est un nombre

paragraphe :
début
rôles :

actions :

efface le tableau
efface la toile
projette ligne-sol
copie 0 dans compteur
vide casier_
nbr_point = -1
va vers apparition

paragraphe :
apparition
rôles :

alea est un nombre
phrase est un texte
actions :

( création dynamique d'acteurs point+ )
ajoute 1 dans nbr_point
concatène "#" , nbr_point dans phrase
Créé phrase un acteur point+
ajoute <
phrase>
dans casier_
alea = 350
mélange alea
ajoute 150 dans alea
copie alea dans x de casier_ { nbr_point }

( caractéristiques des points )
copie 30 dans y de casier_ { nbr_point }
projette casier_ { nbr_point }
copie 10 dans taille de casier_ { nbr_point }
copie 0 dans >
gauche de casier_ { nbr_point }
copie 0 dans >
droite de casier_ { nbr_point }
copie 0 dans >
bas de casier_ { nbr_point }
copie 0 dans >
haut de casier_ { nbr_point }

( pour la couleur )
alea = 7
mélange alea
si alea est égal à 0 alors copie "rouge" dans couleur de casier_ { nbr_point }
si alea est égal à 1 alors copie "vert" dans couleur de casier_ { nbr_point }
si alea est égal à 2 alors copie "bleu" dans couleur de casier_ { nbr_point }
si alea est égal à 3 alors copie "blanc" dans couleur de casier_ { nbr_point }
si alea est égal à 4 alors copie "noir" dans couleur de casier_ { nbr_point }
si alea est égal à 5 alors copie "violet" dans couleur de casier_ { nbr_point }
si alea est égal à 6 alors copie "bordeaux" dans couleur de casier_ { nbr_point }
va vers force-1

paragraphe :
force-1
rôles :

valeur est un nombre
actions :


valeur = BALLES - nbr_point
valeur = valeur / VITESSE
si valeur est plus petit que 1 alors copie 1 dans valeur
attends valeur millisecondes

pour chaque casier_ , parcours force-2
(pour chaque nbr_point , parcours force-3)
va vers remise à zéro

paragraphe :
force-2
rôles :

valeur est un nombre
alea est un nombre
#graffiti est un graffiti , x est 100 , y est 100 , couleur est "zinzolin"
actions :

( affichage )
concatène nbr_point , " billes" dans texte de #graffiti
projette #graffiti

( la bille tombe )
ajoute 2 dans >
bas de joker

( résistance de l'air )
si >
haut de joker est plus grand que >
bas de joker alors ajoute 1 dans >
bas de joker

( annulation des forces contraires )
si >
bas de joker est plus petit que >
haut de joker alors copie >
bas de joker dans valeur
sinon , si >
haut de joker est plus petit que >
bas de joker alors copie >
haut de joker dans valeur
sinon , copie >
haut de joker dans valeur
>
bas de joker = >
bas de joker - valeur
>
haut de joker = >
haut de joker - valeur

( déplacement )
tu déplaces joker vers le haut de >
haut de joker
tu déplaces joker vers la gauche de >
gauche de joker
tu déplaces joker vers la droite de >
droite de joker
tu déplaces joker vers le bas de >
bas de joker

( rebond sur le sol )
si y de joker est plus grand que y1 de ligne-sol alors >
haut de joker = >
bas de joker + >
haut de joker
si y de joker est plus grand que y1 de ligne-sol alors vide >
bas de joker
si y de joker est plus grand que y1 de ligne-sol alors copie y1 de ligne-sol dans y de joker

alea = 2
mélange alea
soustrais 1 dans alea
ajoute alea dans y de joker

reviens

(Paragraphe :
force-3
Rôles :

Actions :

point-actuel = joker
pour chaque casier_ , parcours force-4
reviens

Paragraphe :
force-4
rôles :

anticollision est un nombre
position est un nombre
actions :

anticollision = 0
si casier_ { point-actuel } est en collision avec le joker alors anticollision = 1
si anticollision est différent de 1 alors reviens
position = 0
si x de casier_ { point-actuel } est plus petit que x de joker alors position = position + 2
si x de casier_ { point-actuel } est plus grand que x de joker alors position = position + 3
si y de casier_ { point-actuel } est plus petit que y de joker alors position = position * 1
si y de casier_ { point-actuel } est plus grand que y de joker alors position = position * 2

si position est égal à 0 alors reviens

si position est égal à 2 alors >
haut de casier_ { point-actuel } = >
haut de casier_ { point-actuel } + >
haut de joker + 3
si position est égal à 2 alors >
gauche de casier_ { point-actuel } = >
gauche de casier_ { point-actuel } + >
gauche de joker + 3
si position est égal à 2 alors >
bas de joker = >
bas de casier_ { point-actuel } + >
bas de joker + 3
si position est égal à 2 alors >
droite de joker = >
droite de casier_ { point-actuel } + >
droite de joker + 3
( si position est égal à 2 alors >
haut de casier_ { point-actuel } = >
haut de casier_ { point-actuel } - >
bas de joker
si position est égal à 2 alors >
gauche de casier_ { point-actuel } = >
gauche de casier_ { point-actuel } - >
droite de joker
si position est égal à 2 alors >
bas de joker = >
bas de joker - >
haut de casier_ { point-actuel }
si position est égal à 2 alors >
droite de joker = >
droite de joker - >
gauche de casier_ { point-actuel } )

si position est égal à 3 alors >
haut de casier_ { point-actuel } = >
haut de casier_ { point-actuel } + >
haut de joker + 3
si position est égal à 3 alors >
droite de casier_ { point-actuel } = >
droite de casier_ { point-actuel } + >
droite de joker + 3
si position est égal à 3 alors >
bas de joker = >
bas de casier_ { point-actuel } + >
bas de joker + 3
si position est égal à 3 alors >
gauche de joker = >
gauche de casier_ { point-actuel } + >
gauche de joker + 3
( si position est égal à 3 alors >
haut de casier_ { point-actuel } = >
haut de casier_ { point-actuel } - >
bas de joker
si position est égal à 3 alors >
droite de casier_ { point-actuel } = >
droite de casier_ { point-actuel } - >
gauche de joker
si position est égal à 3 alors >
bas de joker = >
bas de joker - >
haut de casier_ { point-actuel }
si position est égal à 3 alors >
gauche de joker = >
gauche de joker - >
droite de casier_ { point-actuel } )

si position est égal à 4 alors >
bas de casier_ { point-actuel } = >
bas de casier_ { point-actuel } + >
bas de joker + 3
si position est égal à 4 alors >
gauche de casier_ { point-actuel } = >
gauche de casier_ { point-actuel } + >
gauche de joker + 3
si position est égal à 4 alors >
haut de joker = >
haut de casier_ { point-actuel } + >
haut de joker + 3
si position est égal à 4 alors >
droite de joker = >
droite de casier_ { point-actuel } + >
droite de joker + 3
( si position est égal à 4 alors >
bas de casier_ { point-actuel } = >
bas de casier_ { point-actuel } - >
haut de joker
si position est égal à 4 alors >
gauche de casier_ { point-actuel } = >
gauche de casier_ { point-actuel } - >
droite de joker
si position est égal à 4 alors >
haut de joker = >
haut de joker - >
bas de casier_ { point-actuel }
si position est égal à 4 alors >
droite de joker = >
droite de joker - >
gauche de casier_ { point-actuel } )

si position est égal à 6 alors >
bas de casier_ { point-actuel } = >
bas de casier_ { point-actuel } + >
bas de joker + 3
si position est égal à 6 alors >
droite de casier_ { point-actuel } = >
droite de casier_ { point-actuel } + >
droite de joker + 3
si position est égal à 6 alors >
haut de joker = >
haut de casier_ { point-actuel } + >
haut de joker + 3
si position est égal à 6 alors >
gauche de joker = >
gauche de casier_ { point-actuel } + >
gauche de joker + 3
( si position est égal à 6 alors >
bas de casier_ { point-actuel } = >
bas de casier_ { point-actuel } - >
haut de joker
si position est égal à 6 alors >
droite de casier_ { point-actuel } = >
droite de casier_ { point-actuel } - >
gauche de joker
si position est égal à 6 alors >
haut de joker = >
haut de joker - >
bas de casier_ { point-actuel }
si position est égal à 6 alors >
gauche de joker = >
gauche de joker - >
droite de casier_ { point-actuel } )

reviens
)



paragraphe :
remise à zéro
rôles :

alea est un nombre
actions :

copie 40 dans alea
mélange alea
ajoute 1 dans compteur
si nbr_point est plus grand que 100 alors alea = 0
si nbr_point est plus grand que BALLES alors va vers force-1
si compteur est plus grand que alea alors vide compteur
si compteur est ( plus grand que alea ) égal à 0 alors va vers apparition
va vers force-1

les parties de livre entre parenthese servent si tu veux faire en sorte que les billes se cognent mais ça ralentit énormement la lecture
tu peux modifier le nombre de billes en changeant l'acteur "BALLES" ainsi que la vitesse avec "VITESSE"
ici , la création dynamique évite d'avoir à réécrire les grands rôles des que tu veux changer le nombre de billes[/quote]
Excellent !

descriptionNouvelles fonctions EmptyNouvelles fonctions

more_horiz
Oula... c'est compliqué je trouve :s ... c'est pas pour moi ça! :;
):

descriptionNouvelles fonctions EmptyNouvelles fonctions

more_horiz
Pourrais-tu créer un casier d'image? (depuis un dossier contenant des images d'un même thème)? s'il te plaît? ^^

descriptionNouvelles fonctions EmptyRe: Nouvelles fonctions

more_horiz
privacy_tip Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
power_settings_newSe connecter pour répondre