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 €

Linotte Brainstorming

power_settings_newSe connecter pour répondre
+8
$imon
dadodudou
dod
pat
mastermat
cooca
Mony
Sorar
12 participants

descriptionLinotte Brainstorming EmptyLinotte Brainstorming

more_horiz
Bonjour,

Voici un post où vous pouvez "jeter" les idées qui vous passent par la tête pour faire évoluer le langage Linotte...

descriptionLinotte Brainstorming EmptyLinotte Brainstorming

more_horiz
Bonne idée !!! je voulais justement te proposer quelques trucs...

( je ne sais pas si tout est possible )

1) Ce serait bien s'il était possible d'uttiliser l'acteur dont le nom est contenu dans un autre acteur:

ça donnerait un truc comme ça :

livre : monlivre
paragraphe : paragraphe
les roles :
X est un texte avec "Y"
Y est un texte avec "YOUPI !!!"
les actions :
Tu affiches l'acteur nommé par X
Tu termines

2) ce serait bien aussi si on pouvait ouvrir un fichier, un document , une vidéo (etc... ) dans une autre fenetre, ( comme si on double-cliquait sur l'icone)

ex : livre : monlivre
paragraphe : paragraphe
les roles :
Dossier est un fichier depuis "......"
les actions :
tu ouvres le Dossier
tu termines

3) Aussi, il faudrait que l'on puisse temporiser pendant un temps préçis:

ex :livre : monlivre
paragraphe : paragraphe
les roles :
Question est un graffiti , x est 120 , y est 300 , texte est "calculez : (2+6)/2 ?
les actions :
Tu projettes Question
Tu temporises pendant 2 secondes
Si touche est égal à 4 alors tu copies "Bravo" dans texte de Question
Si touche est différent de 4 alors tu copies "Perdu" dans texte de Question
Tu termines

descriptionLinotte Brainstorming EmptyLinotte Brainstorming

more_horiz
Excellentes tes propositions.

1 ) C'est une bonne idée. A voir comment l'utiliser. J'ai déjà implémenté la syntaxe [acteur] qui permet d'afficher non pas le contenu de l'acteur mais son nom. Je ne l'ai pas encore ajouté dans la doc mais ça marche.

Ex :
Livre :
Paragraphe : p1
Rôles:
Exemple est un nombre valant 45
Actions :
Tu affiches [exemple]
Tu termines

Cet exemple va afficher "exemple" et non pas 45 !

2) Ce point, je préfère le mettre de côté pour l'instant même si j'y avais déjà pensé. Le problème, c'est que je vais devoir faire du code qui ne sera pas multiplateforme. Pour l'instant.. je ne suis pas pour. Je veux pour l'instant que le langage soit comme une sorte de boite indépendante du système.

3) Je note ça dans les évolutions à faire !

descriptionLinotte Brainstorming EmptyLinotte Brainstorming

more_horiz
Hum... j'ai pas d'idée là, je passe juste faire un petit bonjour à Ronan et $imon :;
):

descriptionLinotte Brainstorming EmptyLinotte Brainstorming

more_horiz
Bonjour à toi aussi Mony ;
-)
Alors, ça marche la programmation sur DS ?

descriptionLinotte Brainstorming EmptyLinotte Brainstorming

more_horiz
Ça marche bien <img src=" title="Big Grin" />

J'ai trouvé quelques librairies haut-niveau simple d'utilisation <img src=" title="Smile" />

descriptionLinotte Brainstorming EmptyLinotte Brainstorming

more_horiz
Bonjour Mony !

Bon, Revenons au vif du sujet .... voilà, il y a un truck que je ne comprend pas... A quoi servent les crochets ?
Quelle est la différence entre :
Tu affiches [exemple]
et
Tu affiches "exemple" ?

les guillemets font la meme chose que les crochets !!!

descriptionLinotte Brainstorming EmptyLinotte Brainstorming

more_horiz
et puis tant que j'y suis, j'avais ossi quelques idées pour le graphisme.

Depuis toujours, en maths, on trace des axes ou x est l'abscisse et y l'ordonnée. C'est ce que tu as fait pour Linotte. Sauf qu'en maths x augmente quand on se déplace vers la droite et y augmente quand on se déplace vers le HAUT. Alors que pour Linotte, Y augmente quand on se déplace vers le BAS. Je pense que tu as fait ça pour suivre le sens de lecture d'un livre ( gauche à droite et haut en bas )
Mais je trouve que c'est déroutant et pas forcément utile. Puisque tu utilise les termes X et Y, autant garder les conventions mathématiques habituelles.

Et, aussi, si on veut faire plusieurs fois le meme motif, on est obligé de créer plusieurs acteurs. Si on veut se rapprocher du vocabulaire de peinture, on pourrait par exemple dire :
Livre : monlivre
Paragraphe : p1
Rôles:
Exemple est un graffiti , texte est "YOUPI"
Actions :
Tu tamponnes Exemple en x=200 et y=250
Tu tamponnes Exemple en x=300 et y=250
Tu tamponnes Exemple en x=400 et y=250
Tu termines

Cela donnerait le texte YOUPI affiché (euh non ! projeté !) aux trois endroits indiqués. Au niveau de la syntaxe faudrai revoir quelques trucs mais voilà, c'est l'idée qui est importante.

Euh, voilà, je crois que j'ai donné toutes mes idées que j'avais pour Linotte. faites en bon usage . ^^

descriptionLinotte Brainstorming EmptyLinotte Brainstorming

more_horiz
Bonjour $imon.

Il y a un lien entre le verbe tamponner et l'utilisation des crochets....

Dans la version 0.4.1. J'ai ajouté le verbe "créer" qui permet de créer un acteur dynamiquement.

Exemple :
tu crées “youpi” un acteur “graffiti”
tu crées “youpi2” un acteur “graffiti”
etc...

tu ajoutes youpi dans liste
tu ajoutes youpi2 dans liste
etc...

liste est un casier de graffiti.

Vu que cette liste a été créé dynamiquement, lors de l'écriture du livre, on ne connait pas nos acteurs. L'utilisation des crochets permet de retrouver le nom de l'acteur. Si l'acteur a un nom qui commence par "missile", tu vas savoir que tu manipules un missile.
Dans le répertoire expert, regarde l'exemple : fleurs_des_champs.liv

Donc, le verbe tamponner, c'est utiliser le verbe créer à part que tu peux l'utiliser pour les espèces graphiques, mais aussi les textes, nombres et casier.

J'ai ajouté dans la version de travail de Linotte l'utilisation des "<
>
" :

Exemple :

Livre : Demo

Paragraphe : p1
Rôles :
Exemple est un texte avec "bonjour"
Youpi est un texte avec "Exemple"
Actions :
Affiche youpi (affiche sur le tableau : exemple)
Affiche <
Youpi>
(affiche sur le tableau : bonjour)
termine

descriptionLinotte Brainstorming EmptyLinotte Brainstorming

more_horiz
d'accor, je compren ...

descriptionLinotte Brainstorming EmptyLinotte Brainstorming

more_horiz
J'espère avoir été assez clair ;
-) Ce n'est pas simple la création d'acteurs dynamique mais ça permet d'ajouter une grande souplesse au langage.

descriptionLinotte Brainstorming EmptyLinotte Brainstorming

more_horiz
[quote=$imon]
Depuis toujours, en maths, on trace des axes ou x est l'abscisse et y l'ordonnée. C'est ce que tu as fait pour Linotte. Sauf qu'en maths x augmente quand on se déplace vers la droite et y augmente quand on se déplace vers le HAUT. Alors que pour Linotte, Y augmente quand on se déplace vers le BAS. Je pense que tu as fait ça pour suivre le sens de lecture d'un livre ( gauche à droite et haut en bas )
Mais je trouve que c'est déroutant et pas forcément utile. Puisque tu utilise les termes X et Y, autant garder les conventions mathématiques habituelles.
[/quote]

oupsss !!!! Je viens de m'apercevoir que l'axe des ordonnéees est par défaut de haut en bas dans le monde de l'informatique... donc , du coup , meme si c'est déroutant, je pense que c'est utile si jamais le débutant veut continuer...
( tiens je parle de moi là !! :;
):

descriptionLinotte Brainstorming EmptyLinotte Brainstorming

more_horiz
J'ai terminé la version 0.5. Vous pouvez la tester en version de travail :
http://langagelinotte.free.fr/wordpress/?p=84

Voici les nouveautés :

-Evolution : Pré-lecture des livres pour améliorer la rapidité.
-Evolution : Ajout du verbe "temporiser n secondes"
-Evolution : Ajout de la caractéristique "plein" aux rectangles et cercles
-Evolution : Détecter les mises à jour
-Evolution : Ajout des <
>
pour utiliser dynamiquement des acteurs.
-Evolution : Ajout de l'exemple Logi.2
-Correction : Problème affichage de la bonne ligne en cas d'erreur.
-Correction : Régression. On ne pouvait plus lancer linotte en ligne de commande sans l'option -x
-Correction : Impossible d'utiliser la condition "collision" avec les graffitis.



Si vous trouvez des bugs, remontez les moi !

descriptionLinotte Brainstorming EmptyLinotte Brainstorming

more_horiz
whaou, ça avance :;
):

Je suis pas très présent ces jours-ci, j'ai un peu de boulot, et je me suis bien mis à la programmation pour NDS (j'ai viré mon site, pour passer à un dev-blog).

descriptionLinotte Brainstorming EmptyLinotte Brainstorming

more_horiz
Salut Mony,

Je viens de voir ton site. Tu t'amuses bien avec la DS !
Par contre, c'est quoi le principe du jeu ? Tu crois que l'on peut l'écrire en Linotte ?

descriptionLinotte Brainstorming EmptyLinotte Brainstorming

more_horiz
En fait, le principe est assez simple :

Le joueur dirige le cuistot, qui doit aller dans le cercle rouge. Au fur et à mesure de son avancé, les gâteaux bougent;
si le joueur marche sur un gâteau, le cuistot le mange et son estomac se rempli (l'image grossit aussi);
Une fois que l'estomac est plein à 100%, le cuistot éclate :p

Pour l'instant, c'est bourré de bugs, mais bon :p

Sinon, pour l'écrire en Linotte, je pense pas que ce soit difficile, puisque j'utilise juste quelques collisions, et quelques if, etc...
Linotte peut largement accomplir ce travail !

descriptionLinotte Brainstorming EmptyLinotte Brainstorming

more_horiz
Mais les gateaux bougent dans quel sens ? vers lui ?

descriptionLinotte Brainstorming EmptyLinotte Brainstorming

more_horiz
Les gâteaux bougent dans tous les sens, il faut que je modifie la fonction pour qu'ils soient plus libres...

descriptionLinotte Brainstorming EmptyLinotte Brainstorming

more_horiz
Dans la prochaine version, il y aura maintenant la notion d'héritage entre espèce !
Voici un exemple qui fonctionne :

Livre : Les couleurs

Les espèces :
nom est un texte
l'espèce fleur hérite de point et contient un nom

Grands rôles :
champs est une toile, couleur est "jaune mimosa"
fleurs est un casier de fleur vide
message est un graffiti, x est 114, y est 539, couleur est "noir", texte est "Déplace la souris sur les fleurs !", position est 1, taille est 10
pointeur est un point, couleur est "blanc"

Paragraphe : Décor
Actions :
efface la toile
projette le champs
projette le message
pour chaque couleurs, va vers planter
projette pointeur
va vers action

Paragraphe : planter
Rôles :
xx est un nombre valant 600
yy est un nombre valant 600
Actions :
créé joker un acteur fleur
mélange xx
mélange yy
déplace création vers xx et yy
couleur de création = joker
taille de création = 10
nom de création = joker
projette création
ajoute création dans fleurs
reviens

Paragraphe : action
Rôles :
position est un nombre avec 0
Actions :
temporise
déplace pointeur vers sourisx et sourisy
pour chaque fleurs, va vers analyse
va vers action

Paragraphe : analyse
Actions :
si pointeur est en collision avec joker alors texte de message = nom de joker
reviens

descriptionLinotte Brainstorming EmptyLinotte Brainstorming

more_horiz
Bonjour,
moi c'est une autre idée (je ne sais pas si elle peut être réalisée)
ce serait bien si l'on pouvait accéder à une page web à partir de Linotte non?

descriptionLinotte Brainstorming EmptyLinotte Brainstorming

more_horiz
Dod,

Ton idée est très bonne mais pour l'instant, je veux que Linotte "communique" au minimum avec l'extérieur... J'attends que la base soit vraiment solide et après je pourrai me concentrer sur de tel commande. A voir dans le futur !

descriptionLinotte Brainstorming EmptyLinotte Brainstorming

more_horiz
ok Ronan. Je pense que tu as raison.
Pourrais-tu améliorer les graphismes, par exemple qu'on puisse créer du beau 3D?

descriptionLinotte Brainstorming EmptyLinotte Brainstorming

more_horiz
Franchement... je pense qu'il n'y aura jamais de 3D. Le but de Linotte est faire découvrir la programmation ;
la 3D demande des notions assez avancées en mathématiques... et les maths, c'est n'est pas le fort de Linotte !

descriptionLinotte Brainstorming EmptyLinotte Brainstorming

more_horiz
lol d'accord, pas grave ! <img src=" title="Smile" />

descriptionLinotte Brainstorming EmptyLinotte Brainstorming

more_horiz
Au niveau du graphisme, serait-il possible de créer l'espece graphique :"forme" ou "figure"

#triangle est une figure avec 3 cotés , x1 est 100 , y1 est 100 , x2 est 200 , y2 est 200 , x3 est 300 , y3 est 100 , couleur est rouge
#octogone est une figure avec 8 cotés , x1 est 100 , y1 est 100 , x2 est 100 , y2 est 200 , x3 est 120 , y3 est 300, x4 est 200 , y4 est 400 , x5 est 300 , y5 est 400 , x6 est 480, y6 est 300 , x7 est 500 , y7 est 200 , x8est 300, y8 est 100

de plus, j'ai remarqué que maintenant, quand on lance profix à partir d'un .bat, la toile met une trentaine de secondes avant de s'ouvrir. Serait-il possible d'afficher juste un petit cadre avec "chargement en cours" ou "je mouline" , comme tu l'as mis dans l'atelier?

descriptionLinotte Brainstorming EmptyRe: Linotte Brainstorming

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