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 ?

-23%
Le deal à ne pas rater :
(Black Friday) Apple watch Apple SE GPS 44mm (plusieurs coloris)
199 € 259 €
Voir le deal

description"réinitialiser" un acteur dynamique ? Empty"réinitialiser" un acteur dynamique ?

more_horiz
J'essaye de "réinitialiser" un acteur dynamique.
En effet, je créer un quadrillage de cette façon :

Code:


pour i de 1 à nombre_case_hauteur_effectif, lis
pour j de 1 à nombre_case_largeur_effectif, lis
tu concatènes i + "_" + j dans case
Crée case un acteur rectangle
x de création vaut xx
y de création vaut yy
hauteur de création vaut taille_case
largeur de création vaut taille_case
couleur de création vaut "rouge"
plein de création vaut "oui"
position de création vaut 1
ajoute création dans grille
Projette création
ferme
ferme


Or, si l'utilisateur veut créer un nouveau quadrillage, j'aimerais pouvoir l'effacer.
Mais l'acteur "case" pose problème.

J'ai essayé :
Vide case
Efface case
case = ""

A chaque fois, l'interprète affiche :
l'acteur existe déjà : 1_1

Et si je fais :
Annihile case

Là c'est trop efficace puisque l'acteur est supprimé.
L'interprète m'affiche donc :
L'acteur est inconnu du paragraphe et du livre : case

Comment faire ?

description"réinitialiser" un acteur dynamique ? EmptyRE: "réinitialiser" un acteur dynamique ?

more_horiz
As-tu regardé du côté des acteurs locaux ?
j'ai téléchargé ton livre, je vais le regarder plus en profondeur plus tard.

description"réinitialiser" un acteur dynamique ? EmptyRE: "réinitialiser" un acteur dynamique ?

more_horiz
Pour réinitialiser mes données j'utilise un paragraphe spécifique.
Si je déclare l'acteur "case" en local je n'y aurait donc pas accès depuis ce paragraphe.
Je ne peut pas utiliser de pointeur sur "case" car l'appel de mon paragraphe spécifique se fait depuis une autre fonction que celle où je créé case.

description"réinitialiser" un acteur dynamique ? EmptyRE: "réinitialiser" un acteur dynamique ?

more_horiz
En fait, l'idéal serait de créer une fonction "vider la mémoire" dans mon programme, afin de pouvoir réinitialiser tous les acteurs.

description"réinitialiser" un acteur dynamique ? EmptyRE: "réinitialiser" un acteur dynamique ?

more_horiz
Peut-être avec le verbe « vider », vide case, supprime le contenu de l’acteur mais pas l’acteur lui-même.

description"réinitialiser" un acteur dynamique ? EmptyRE: "réinitialiser" un acteur dynamique ?

more_horiz
Effectivement, en faisant "vide case", si je l'affiche sur le tableau, il n'y a rien.
Néanmoins, j'ai toujours la même erreur :
L'acteur case existe déjà : 1_1
(1_1 étant le contenu de la première case.)

description"réinitialiser" un acteur dynamique ? EmptyRE: "réinitialiser" un acteur dynamique ?

more_horiz
peut-être :
Annihile case
Crée « case » un acteur nombre (ou autre, voir le verbier).

sinon, je ne vois pas, je passe la main à admincpc...

description"réinitialiser" un acteur dynamique ? EmptyRE: "réinitialiser" un acteur dynamique ?

more_horiz

Et si je fais :
Annihile case

Là c'est trop efficace puisque l'acteur est supprimé.
L'interprète m'affiche donc :
L'acteur est inconnu du paragraphe et du livre : case


Je reste sur l'idée d'une fonction permettant de "vider la mémoire" comme le fait l'atelier.

description"réinitialiser" un acteur dynamique ? EmptyRE: "réinitialiser" un acteur dynamique ?

more_horiz
C'est dangereux... mais ça existe....

http://langagelinotte.free.fr/forum/sho ... 09#pid6009

description"réinitialiser" un acteur dynamique ? EmptyRE: "réinitialiser" un acteur dynamique ?

more_horiz
Sa ne fonctionne pas car je dois avoir accès à l'acteur tweak depuis n'importe quel endroit de mon code.
Hors, il faut toujours l'utiliser en début de livre sinon sa ne fonctionne pas.
Et si je le met en début de livre, je n'y ai plus accès ensuite car l'acteur tweak exitera déjà.

description"réinitialiser" un acteur dynamique ? EmptyRE: "réinitialiser" un acteur dynamique ?

more_horiz
Quand je manipule des acteurs créés dynamiquement, je passe toujours pas des tableaux et des acteurs locaux.
C'est ce que je fais dans le jeu Astronotte.
C'est plus "propre" comme technique et tu rencontreras moins de problème dans ton cas.

description"réinitialiser" un acteur dynamique ? EmptyRE: "réinitialiser" un acteur dynamique ?

more_horiz
Jusqu'à maintenant, en utilisant des acteurs locaux, je n'avais jamais réussit à recréer mes quadrillages.
En prenant exemple sur le jeu Astronotte, j'ai compris d'où venait mes erreurs.
Je peux désormais utiliser des acteurs locaux et je n'ai donc plus de problème pour réinitialiser mes données.
Un grand merci <img src=" title="Smile" />

description"réinitialiser" un acteur dynamique ? EmptyRe: "réinitialiser" un acteur dynamique ?

more_horiz
bravo... ca progresse....

Sent from my GT-I9001 Using ForumTouch for Android

description"réinitialiser" un acteur dynamique ? EmptyRe: "réinitialiser" un acteur dynamique ?

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