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 à ne pas rater :
Fnac : 2 Funko Pop achetées : le 3ème offert (large sélection de ...
Voir le deal

descriptionLe Linotthon 0.6.3 EmptyLe Linotthon 0.6.3

more_horiz
Bonjour,

Voici un petit concours que je propose à la communauté...

Comme vous le savez, Linotte contient encore des bogues (qui a dit oui ???). Dans un souci de faire de Linotte un langage stable, je propose de rechercher et remonter dans ce post un maximum de bogues de la version 0.6.2.

Voici les règles :
- Si vous trouvez un bogue, vous devez créer un livre très simple (20 lignes max) qui permet de reproduire ce bogue. Ensuite vous poster sur ce forum votre livre avec une explication courte.
- Ce bogue peut être soit un plantage de Linotte ou une réponse incohérente de l'interpréteur.
- Je tiens à jour un compteur du nombres de bogues trouvés et validés par utilisateur.
- Je participe au concours !
- Le gagnant est celui qui en trouvera le plus !
- Le gagnant gagnera... l'estime de la communauté !

****************************
Classement temporaire :
****************************

1 - Ronan : 3 bogues.
(bogues n° 1, 2, 3)
1 - $imon : 3 bogues
(bogues n° 4, 5, 7)
2 - Pat : 1 bogues
(bogues n° Cool

descriptionLe Linotthon 0.6.3 EmptyLe Linotthon 0.6.3

more_horiz
Bogue n°1 (corrigé):

Code:

Livre :
?
("Spécification 0.
6.
2")
("Auteur :
consultant")
Paragraphe :
?
Rôles :

a est un nombre
x est un point
Actions :

a vaut a + carré 4 * 5 + (x de x) puiss 4

Ce livre génère l'erreur :
La valeur n'est pas valide : org.linotte.moteur.xml.etats.Mathematiques$OPERATION cannot be cast to java.util.List

descriptionLe Linotthon 0.6.3 EmptyLe Linotthon 0.6.3

more_horiz
Bogue n°2 (corrigé):

Code:

Livre :
?
("Spécification 0.
6.
2")
Paragraphe :
?
Rôles :

a est un nombre
x est un point
c est un casier de point
Actions :

ajoute x dans c
a vaut a + carré 4 * 5 + racine ( carré (x de (c{0}))) de <
"a">

Ce livre ne devrait pas fonctionner mais il ne renvoie pas d'erreur.

descriptionLe Linotthon 0.6.3 EmptyLe Linotthon 0.6.3

more_horiz
Bogue n°3 (corrigé):

Code:

Livre :
?
("Spécification 0.
6.
2")
Paragraphe :
?
Rôles :

a est un nombre
x est un point
c est un casier de toto
Actions :

a vaut x de (c{0})

Ce livre ne devrait pas fonctionner mais il ne renvoie pas d'erreur.

descriptionLe Linotthon 0.6.3 EmptyLe Linotthon 0.6.3

more_horiz
je soupçonne ronan d'avoir laissé exprès des erreurs pour gagner !! :;
):


allez je participe :
bogue n°4 : (corrigé)

livre : linotthon
paragraphe : P1
les rôles :
txt est un texte valant "carré"
les actions :
efface le tableau
crée txt un acteur rectangle
x de création = 50
y de création = 55
couleur de <
txt>
!
termine

yeah !! un point !!!
<img src=" title="Big Grin" />

descriptionLe Linotthon 0.6.3 EmptyLe Linotthon 0.6.3

more_horiz
bogue n°5 (corrigé)


livre : linothon
les grands rôles :
fond est une toile , couleur est "bleu" , largeur est 350 , hauteur est 350
numéro est un nombre
paragraphe : p1
les actions :
numéro = ( hauteur de fond ) - 7
numéro !
termine

ce livre renvoie l'erreur :
La valeur n'est pas valide : Impossible de soustraire une chaine à hauteur
( sans les parenthèses, le livre marche )

descriptionLe Linotthon 0.6.3 EmptyLe Linotthon 0.6.3

more_horiz
<
B>
bogue n°6<
/B>


Livre: citations

Les grands rôles :
citations est un casier de texte vide
Albert_Einstein est un casier de texte vide
choix_du_personnage est un texte vide
hasardcitations est un nombre valant 2


Paragraphe: ajoutdescitationsparpersonnages
efface le tableau

ajoute Albert_Einstein dans citations


ajoute "-Ne fais jamais quelque chose contre ta conscience, même si l'Etat te le demande." dans Albert_Einstein
ajoute "-L'Homme et sa survie sont les premières préoccupations lors d'une expérience." dans Albert_Einstein
ajoute "-Si les faits ne correspondent pas à la théorie, changez les faits." dans Albert_Einstein

va vers choixpersonnage

Paragraphe: choixpersonnage
"Veuillez taper le prénom OU le nom d'un célèbre personnage, ou taper ''EXIT'' pour quitter. Sinon, vous pouvez taper ''?'' pour afficher une citation ou un dicton au hasard."!

choix_du_personnage ?

si choix_du_personnage est égal à "fin" alors termine

mélange hasardcitations
si hasardcitations est égal à 0 alors ajoute 1 dans hasardcitations

si choix_du_personnage est égal à "?" alors lis
"
Une citation d'Albert Einstein au hasard :
"+citations{hasardcitations}!
termine
ferme

"Les citations d'Albert Einstein recensées sont :"!
si choix_du_personnage contient "Albert" alors Albert_Einstein !
si choix_du_personnage contient "Einstein" alors Albert_Einstein !


ce livre renvoie cette erreur:
<
I>
La valeur n'est pas valide : la valeur du pointeur n'est pas valide<
/I>

1-La formulation de l'erreur est répétitive :;
):
2-C'est dommage qu'on ne puisse pas renseigner la valeur d'un point d'un casier de casier ! <img src=" title="Smile" />

descriptionLe Linotthon 0.6.3 EmptyLe Linotthon 0.6.3

more_horiz
le problème survient lorsque l'on inscrit la valeur "?"

il y a plusieurs erreurs dans le livre.

citations est un casier de texte
or tu ajoute un casier dedans: ajoute Albert_Einstein dans citations
On a ici affaire à un bogue de Linotte, il faudrait un message d'erreur pour signaler que l'action n'est pas possible.

pour que le livre marche,
il faut donc remplacer ajoute Albert_Einstein dans citations par ajoute "Albert_Einstein" dans citations
ainsi, on ajoute bien un texte dans un casier de texte.

Maintenant, citations{hasardcitations} ne peut pas etre une citation. En effet, le casier citations ne contient pas de citations mais le texte "Albert_Einstein" ! Il faut donc remplacer citations par <
citations{0} >
, ainsi, Linotte ira d'abord chercher le texte présent à la position 0 dans le casier citations, ( c'est "Albert_Einstein") , puis ira chercher l'acteur nommé par ce texte, ( donc le casier Albert_Einstein ) et enfin affichera le texte à la position hasardcitations du casier Albert_Einstein. et voilà !

au passage, tu n'es pas obligé d'écrire
si hasardcitations est égal à 0 alors ajoute 1 dans hasardcitations
en effet, la première position d'un casier est la position 0, et non 1.

au final, ça donne ça
Livre: citations
Les grands rôles :
citations est un casier de texte vide
Albert_Einstein est un casier de texte vide
choix_du_personnage est un texte vide
hasardcitations est un nombre valant 2

Paragraphe: ajoutdescitationsparpersonnages
efface le tableau

ajoute "Albert_Einstein" dans citations
ajoute "-Ne fais jamais quelque chose contre ta conscience, même si l'Etat te le demande." dans Albert_Einstein
ajoute "-L'Homme et sa survie sont les premières préoccupations lors d'une expérience." dans Albert_Einstein
ajoute "-Si les faits ne correspondent pas à la théorie, changez les faits." dans Albert_Einstein
va vers choixpersonnage

Paragraphe: choixpersonnage
"Veuillez taper le prénom OU le nom d'un célèbre personnage, ou taper ''EXIT'' pour quitter. Sinon, vous pouvez taper ''?'' pour afficher une citation ou un dicton au hasard."!

choix_du_personnage ?
si choix_du_personnage est égal à "fin" alors termine

mélange hasardcitations
si choix_du_personnage est égal à "?" alors lis
"
Une citation d'Albert Einstein au hasard :
"+ <
citations{0} >
{hasardcitations}!

termine
ferme

"Les citations d'Albert Einstein recensées sont :"!
si choix_du_personnage contient "Albert" alors Albert_Einstein !
si choix_du_personnage contient "Einstein" alors Albert_Einstein !

dernier petit problème dans le livre, si par exemple on inscrit "Maupassant" (ou autre chose...), le livre affiche "Les citations d'Albert Einstein recensées sont :" . Il faut rectifier cela !

descriptionLe Linotthon 0.6.3 EmptyLe Linotthon 0.6.3

more_horiz
Ok, merci beaucoup <img src=" title="Smile" />
seulement... cette citation "Si les faits ne correspondent ... etc" ne s'affiche jamais si on fait " bizarre.

descriptionLe Linotthon 0.6.3 EmptyLe Linotthon 0.6.3

more_horiz
il y a trois citations au total. Dans le casier, elles sont aux positions 0, 1, et 2.
Ici, on prend un nombre valant 2 et on le mélange. Il ne peut donc donner que 0 ou 1.
la citation qui n'apparait jamais est la citation à la position 2. Si tu veux qu'elle apparaisse, initialise le nombre à 3 plutot qu'à 2.

descriptionLe Linotthon 0.6.3 EmptyLe Linotthon 0.6.3

more_horiz
Oui, je venais de le voir <img src=" title="Smile" /> merci ^^

descriptionLe Linotthon 0.6.3 EmptyLe Linotthon 0.6.3

more_horiz
bogue n°7 (corrigé)
livre : linothon
Paragraphe : exemple
Rôles :
a est un nombre valant 1
b est un nombre valant 1.0
c est un nombre valant 1.000
Actions :
efface le tableau

si a est égal à b alors "c'est pareil" !
sinon , "c'est pas pareil" !

si a est égal à c alors "c'est pareil" !
sinon , "c'est pas pareil" !

si b est égal à c alors "c'est pareil" !
sinon , "c'est pas pareil" !

termine

deux nombres sont différents s'ils n'ont pas le meme nombre de décimales... plutot embettant !

descriptionLe Linotthon 0.6.3 EmptyLe Linotthon 0.6.3

more_horiz
Bogue n°8 : Corrigé

Bonjour,

Je ne sais pas si c’est un bogue déjà connu mais linotte (version 063 b1) me signale un bogue à l’éxécution du livre « patron.liv » donné en exemple concernant les greffons.

Salut, et bon week-end à tous !

descriptionLe Linotthon 0.6.3 EmptyLe Linotthon 0.6.3

more_horiz
Ainsi que bonnes vacances ;
=)

descriptionLe Linotthon 0.6.3 EmptyLe Linotthon 0.6.3

more_horiz
Bonjour,

J'ai corrigé vos bogues.
Voici la nouvelle version :
http://langagelinotte.googlecode.com/fi ... 6_3_b2.zip

descriptionLe Linotthon 0.6.3 EmptyRe: Le Linotthon 0.6.3

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