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 :
Nike : Jusqu’à 50% sur les articles de ...
Voir le deal

descriptionLa notion de "pour chaque x, lis _ ferme" (urgent) EmptyLa notion de "pour chaque x, lis _ ferme" (urgent)

more_horiz
Re-salut !

Je suis vraiment désolé de publier plein de fois des trucs pour qu'on m'aide, mais je suis en train de créer un ptit jeu d'arcade :;
):

J'aimerais savoir pourquoi la notion de "pour chaque x" ne marche pas pour lire autant de fois que x un paragraphe. Une génération permanente <img src=" title="Smile" />

Voici mon code:

Rôles :

nombrealéatoiredeboules est un nombre valant 11
nombrealéatoirecouleur est un nombre valant 4

Paragraphe: Projectiondeboules
pour chaque nombrealéatoiredeboules, lis
si nombrealéatoirecouleur est égal à 1 alors couleur de boule vaut "bleu"
sinon, si nombrealéatoirecouleur est égal à 2 alors couleur de boule vaut "jaune"
sinon, si nombrealéatoirecouleur est égal à 3 alors couleur de boule vaut "rouge"
sinon, couleur de boule vaut "jaune"
projette boule
parcours boulemouvement avec boule
attends 20 millisecondes
ferme
termine

La couleur marche, mais il n'y a qu'une boule. Le paragraphe "boulemouvement" est lut correctement.

Merci <img src=" title="Smile" />

PS: ce passage est urgent !

descriptionLa notion de "pour chaque x, lis _ ferme" (urgent) EmptyLa notion de "pour chaque x, lis _ ferme" (urgent)

more_horiz
je n'ai pas trop compris ton probleme, peux-tu mettre le livre entier?

sinon, essaie de changer
parcours boulemouvement avec boule
par
parcours boulemouvement avec #boule

je suis pas sur que ça marche mais peut-etre..... avec un peu de chance :;
):

descriptionLa notion de "pour chaque x, lis _ ferme" (urgent) EmptyLa notion de "pour chaque x, lis _ ferme" (urgent)

more_horiz
Je viens d'essayer avec #boule <img src=" title="Smile" /> le résultat est mieux, mais ne marche toujours pas <img src=" title="Smile" />

Je vais te passer le livre ici, mais avant, laisse-moi t'expliquer ce qui doit se passer : je génère un nombre au hasard, compris entre 1 compris et 10 compris. Ce nombre définira le nombre de boule qui se déplaceront. Quant à l'autre nombre au hasard, c'est celui qui définit leur couleur (une boule peut avoir une couleur différente qu'une autre).

Tu verras, aussi, le bug du paragraphe "tir" :

Livre : Arcade - Escalator


Les Grands Rôles :
fond est une toile, couleur vaut "noir", largeur vaut 800

contour est un rectangle, x vaut 1, y vaut 2, hauteur vaut 586, largeur vaut 797, couleur vaut "acajou", taille vaut 5
ligne1 est une ligne, angle vaut 90, couleur vaut "acajou", taille vaut 5, x1 vaut 1200, x2 vaut 20, y1 vaut 0, y2 vaut 0

sol1 est un rectangle, couleur vaut "acajou", largeur vaut 480, hauteur vaut 5, x vaut 50, y vaut 100, plein vaut "oui"
sol2 est un rectangle, couleur vaut "acajou", largeur vaut 480, hauteur vaut 5, x vaut 50, y vaut 175, plein vaut "oui"
sol3 est un rectangle, couleur vaut "acajou", largeur vaut 480, hauteur vaut 5, x vaut 50, y vaut 250, plein vaut "oui"
sol4 est un rectangle, couleur vaut "acajou", largeur vaut 480, hauteur vaut 5, x vaut 50, y vaut 325, plein vaut "oui"
sol5 est un rectangle, couleur vaut "acajou", largeur vaut 480, hauteur vaut 5, x vaut 50, y vaut 400, plein vaut "oui"
porte1 est un rectangle, couleur vaut "banane", largeur vaut 22, hauteur vaut 30, plein vaut "oui", x vaut 50, y vaut 70
porte2 est un rectangle, couleur vaut "noir", largeur vaut 22, hauteur vaut 30, plein vaut "oui", x vaut 508, y vaut 70
porte3 est un rectangle, couleur vaut "noir", largeur vaut 22, hauteur vaut 30, plein vaut "oui", x vaut 50, y vaut 370
porte4 est un rectangle, couleur vaut "banane", largeur vaut 22, hauteur vaut 30, plein vaut "oui", x vaut 508, y vaut 370

boule est un cercle, rayon vaut 13, couleur vaut "bleu", x vaut 60, y vaut 87, plein vaut "oui"
oeil est un point,x vaut 65, y vaut 83, taille vaut 7
bouche est un ligne, angle vaut 180, couleur vaut "noir", taille vaut 3, x1 vaut 65, x2 vaut 69, y1 vaut 94, y2 vaut 95

variable est un nombre valant 0

gameover est un graffiti, texte est "GAME OVER", couleur est "rouge", x vaut 100, y vaut 240, taille vaut 50, position vaut 1
score est un graffiti, texte est "Score :", couleur est "jaune", x vaut 680, y vaut 50, taille vaut 7
cadrescore est un rectangle, couleur vaut "acajou", largeur vaut 120, hauteur vaut 80, x vaut 650, y vaut 60, taille vaut 3

nombrealéatoiredeboules est un nombre valant 11
nombrealéatoirecouleur est un nombre valant 4

bouleprésentation est un cercle, rayon vaut 13, couleur vaut "bleu", x vaut 705, y vaut 207, plein vaut "oui"
oeilprésentation est un point,x vaut 705, y vaut 202, taille vaut 7
boucheprésentation est un ligne, angle vaut 180, couleur vaut "noir", taille vaut 3, x1 vaut 695, x2 vaut 703, y1 vaut 213, y2 vaut 214

bouleprésentation2 est un cercle, rayon vaut 13, couleur vaut "jaune", x vaut 705, y vaut 320, plein vaut "oui"
oeilprésentation2 est un point,x vaut 705, y vaut 315, taille vaut 7
boucheprésentation2 est un ligne, angle vaut 180, couleur vaut "noir", taille vaut 3, x1 vaut 695, x2 vaut 703, y1 vaut 327, y2 vaut 328

bouleprésentation3 est un cercle, rayon vaut 13, couleur vaut "rouge", x vaut 705, y vaut 420, plein vaut "oui"
oeilprésentation3 est un point,x vaut 705, y vaut 415, taille vaut 7
boucheprésentation3 est un ligne, angle vaut 180, couleur vaut "noir", taille vaut 3, x1 vaut 695, x2 vaut 703, y1 vaut 427, y2 vaut 428

points1 est un graffiti, texte vaut "10", couleur vaut "bleu", x vaut 740, y vaut 219, taille vaut 15
points2 est un graffiti, texte vaut "20", couleur vaut "jaune", x vaut 740, y vaut 330, taille vaut 15
points3 est un graffiti, texte vaut "30", couleur vaut "rouge", x vaut 740, y vaut 430, taille vaut 15

tireur est un rectangle, couleur vaut "gris", largeur vaut 50, hauteur vaut 30,x vaut 250, y vaut 500, plein vaut "oui"

mémoiretouche est un texte

missile est une ligne, angle vaut 90, couleur vaut "blanc", taille vaut 1, x1 vaut 0, x2 vaut 0, y1 vaut 0, y2 vaut 0

Paragraphe: présentation
mémoiretouche vaut touche
efface la toile
efface le tableau

projette fond
projette contour
projette sol1
projette sol2
projette sol3
projette sol4
projette sol5
projette ligne1
projette porte1
projette porte2
projette porte3
projette porte4
projette score
projette cadrescore
projette bouleprésentation
projette oeilprésentation
projette boucheprésentation
projette bouleprésentation2
projette oeilprésentation2
projette boucheprésentation2
projette bouleprésentation3
projette oeilprésentation3
projette boucheprésentation3
projette points1
projette points2
projette points3
projette tireur

mélange nombrealéatoiredeboules
mélange nombrealéatoirecouleur

va vers Projectiondeboules

Paragraphe: tir
x1 de missile vaut x de tireur
x2 de missile vaut x de tireur
y1 de missile vaut y de tireur
y2 de missile vaut y de tireur
taille de missile vaut 5
déplace missile vers le haut de 5
projette missile
attends 45 millisecondes
si missile est en collision avec boule alors lis
efface la boule
efface le missile
va vers boulemouvement
ferme
va vers tir


Paragraphe: Projectiondeboules
pour chaque nombrealéatoiredeboules, lis
si nombrealéatoirecouleur est égal à 1 alors couleur de boule vaut "bleu"
sinon, si nombrealéatoirecouleur est égal à 2 alors couleur de boule vaut "jaune"
sinon, si nombrealéatoirecouleur est égal à 3 alors couleur de boule vaut "rouge"
sinon, couleur de boule vaut "jaune"
projette boule
projette oeil
projette bouche
parcours boulemouvement avec #boule
parcours boulemouvement avec #bouche
parcours boulemouvement avec #oeil
attends 20 millisecondes
ferme
termine

Paragraphe: boulemouvement
les souffleurs :
dès que 1 est égal à 1 , copie touche dans mémoiretouche
dès que mémoiretouche est égal à "droite" , déplace tireur vers la droite de 5
dès que mémoiretouche est égal à "gauche" , déplace tireur vers la gauche de 5
dès que mémoiretouche est égal à "haut" , va vers tir
dès que mémoiretouche est différent de "" , vide mémoiretouche


les actions:
si x de boule est plus petit que 530 alors lis
déplace boule vers la droite de 5
déplace oeil vers la droite de 5
déplace bouche vers la droite de 5

si x de boule est égal à 530 alors variable vaut 1

ferme

si variable est égal à 1 alors lis
si y de boule est plus petit que 160 alors lis
déplace boule vers le bas de 5
déplace oeil vers le bas de 5
déplace bouche vers le bas de 5
si y de boule est égal à 162 alors variable vaut 2
ferme
ferme

si variable est égale à 2 alors va vers tournegauche

attends 40 millisecondes

va vers boulemouvement


Paragraphe: tournegauche
déplace bouche vers la gauche de 16
déplace oeil vers la gauche de 7
si variable est égal à 6 alors va vers boulemouvement4
va vers boulemouvement2

Paragraphe: boulemouvement2
les souffleurs :
dès que 1 est égal à 1 , copie touche dans mémoiretouche
dès que mémoiretouche est égal à "droite" , déplace tireur vers la droite de 5
dès que mémoiretouche est égal à "gauche" , déplace tireur vers la gauche de 5
dès que mémoiretouche est égal à "haut" , va vers tir
dès que mémoiretouche est différent de "" , vide mémoiretouche

les actions :
si y de boule est égal à 162 alors lis
déplace boule vers la gauche de 5
déplace oeil vers la gauche de 5
déplace bouche vers la gauche de 5

si x de boule est égal à 50 alors variable vaut 3
ferme


si variable est égal à 3 alors lis
si y de boule est plus petit que 235 alors lis
déplace boule vers le bas de 5
déplace oeil vers le bas de 5
déplace bouche vers le bas de 5
si y de boule est égal à 237 alors variable vaut 4
ferme
ferme

si variable est égale à 4 alors va vers tournedroite


attends 40 millisecondes
va vers boulemouvement2

Paragraphe: tournedroite
déplace bouche vers la droite de 16
déplace oeil vers la droite de 7
si variable est égale à 8 alors va vers boulemouvement5
va vers boulemouvement3

Paragraphe: boulemouvement3
les souffleurs :
dès que 1 est égal à 1 , copie touche dans mémoiretouche
dès que mémoiretouche est égal à "droite" , déplace tireur vers la droite de 5
dès que mémoiretouche est égal à "gauche" , déplace tireur vers la gauche de 5
dès que mémoiretouche est égal à "haut" , va vers tir
dès que mémoiretouche est différent de "" , vide mémoiretouche

les actions:
si y de boule est égal à 237 alors lis
déplace boule vers la droite de 5
déplace oeil vers la droite de 5
déplace bouche vers la droite de 5

si x de boule est égal à 530 alors variable vaut 5
ferme


si variable est égal à 5 alors lis
si y de boule est plus petit que 310 alors lis
déplace boule vers le bas de 5
déplace oeil vers le bas de 5
déplace bouche vers le bas de 5
si y de boule est égal à 312 alors variable vaut 6
ferme
ferme

si variable est égale à 6 alors va vers tournegauche

attends 40 millisecondes
va vers boulemouvement3

Paragraphe: boulemouvement4
les souffleurs :
dès que 1 est égal à 1 , copie touche dans mémoiretouche
dès que mémoiretouche est égal à "droite" , déplace tireur vers la droite de 5
dès que mémoiretouche est égal à "gauche" , déplace tireur vers la gauche de 5
dès que mémoiretouche est égal à "haut" , va vers tir
dès que mémoiretouche est différent de "" , vide mémoiretouche

les actions:
si y de boule est égal à 312 alors lis
déplace boule vers la gauche de 5
déplace oeil vers la gauche de 5
déplace bouche vers la gauche de 5

si x de boule est égal à 50 alors variable vaut 7
ferme


si variable est égal à 7 alors lis
si y de boule est plus petit que 385 alors lis
déplace boule vers le bas de 5
déplace oeil vers le bas de 5
déplace bouche vers le bas de 5
si y de boule est égal à 387 alors variable vaut 8
ferme
ferme

si variable est égale à 8 alors va vers tournedroite

attends 40 millisecondes
va vers boulemouvement4



Paragraphe: boulemouvement5
les souffleurs :
dès que 1 est égal à 1 , copie touche dans mémoiretouche
dès que mémoiretouche est égal à "droite" , déplace tireur vers la droite de 5
dès que mémoiretouche est égal à "gauche" , déplace tireur vers la gauche de 5
dès que mémoiretouche est égal à "haut" , va vers tir
dès que mémoiretouche est différent de "" , vide mémoiretouche

les actions:
si y de boule est égal à 387 alors lis
déplace boule vers la droite de 5
déplace oeil vers la droite de 5
déplace bouche vers la droite de 5

si x de boule est égal à 50 alors variable vaut 9
ferme


si variable est égal à 9 alors lis
si y de boule est plus petit que 310 alors lis
déplace boule vers le bas de 5
déplace oeil vers le bas de 5
déplace bouche vers le bas de 5
ferme
ferme
si boule est en collision avec porte4 alors va vers GameOver

attends 40 millisecondes
va vers boulemouvement5

Paragraphe: Gameover
projette gameover
couleur de boule vaut "bleu"
attends 30 millisecondes
couleur de boule vaut "jaune"
attends 30 millisecondes
couleur de boule vaut "rouge"
attends 20 millisecondes
va vers Gameover


Merci <img src=" title="Smile" />

descriptionLa notion de "pour chaque x, lis _ ferme" (urgent) EmptyLa notion de "pour chaque x, lis _ ferme" (urgent)

more_horiz
il y a plusieurs problèmes dans ton livre. Le premier est que tu utilise des paragraphes avec paramètre alors que tu ne les déclare pas dans les rôles. Du coup, cela ne sert à rien d'utiliser des paramètres!
( parcours boulemouvement avec #boule )
le paragraphe boulemouvement a aussi un problème car il ne fait déplacer qu'une seule boule à la fois. il dois attendre qu'elle soit touchée par un missile pour créer la deuzième !

je te conseille de modifier la structure de ton livre en la repensant de manière à ne plus utiliser de souffleurs (je ne sais pas s'il est permis d'écrire: dès que v1 est égal à v2 , va vers p6 ). tu peux facilement les remplacer par des paragraphes lus en traitement pararallèle.

sinon, niveau graphisme et gestion des monstres, c'est un bon p'tit jeu que tu nous prépare là...... j'ai hate de le voir terminé ! :;
):

descriptionLa notion de "pour chaque x, lis _ ferme" (urgent) EmptyLa notion de "pour chaque x, lis _ ferme" (urgent)

more_horiz
Qu'est-ce qu'un paragraphe avec paramètres ?

descriptionLa notion de "pour chaque x, lis _ ferme" (urgent) EmptyLa notion de "pour chaque x, lis _ ferme" (urgent)

more_horiz
Faut lire le dernier tuto Dod ;
-)
C'est le chapitre qui parle des "doublures".

descriptionLa notion de "pour chaque x, lis _ ferme" (urgent) EmptyRe: La notion de "pour chaque x, lis _ ferme" (urgent)

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