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 ?

-17%
Le deal à ne pas rater :
SSD interne Crucial SSD P3 1To NVME à 49,99€
49.99 € 59.99 €
Voir le deal

descriptionFaire un quadrillage EmptyFaire un quadrillage

more_horiz
Je sais plus dans quel programme linotte j'ai trouvé un quadrillage et j'ai mis un temps avant de comprendre comment le refaire avec la taille de cases que je voulais, la taille de toile, la surface à couvrir etc...

Bref petit tuto quadrillage pour linottiens :

On souhaite remplir une toile de 800 sur 800 avec 6500 carré de 10 sur 10.



livre : quadrillage
les grands rôles :
fond est une toile , hauteur est 800 , largeur est 800 , couleur est "vert sapin"
("votre toile")
casier est un casier de rectangle
m est un nombre
n est un nombre
t est un texte
paragraphe : le1
actions :
projette le fond

m = 0
n = 0 ("par ces deux nombres on définit le départ de notre quadrillage")
pour chaque 6500 , lis (" 6500 pour 6500 carrés pour remplir ma toile ")
concatène "carre" + joker dans t
crée t un acteur rectangle
ajoute création dans casier
x de création = m
y de création = n
largeur de création = 10 ("largeur d'un carré")
hauteur de création = 10 ("hauteur d'un carré")
couleur de création = "noir"
projette <
<
t>
>

n = n + 10 ("10 = hauteur du carré")
si n est plus grand que 800 alors lis ("800 = hauteur de la toile")
n = 0
m = m + 10 ("10 = largeur d'un carré")
ferme
ferme


Voila votre quadrillage est prêt et votre casier nommé casier contient vos 6500 carrés nommés carre1, carre2 etc...

Bon par contre ce pauvre atelier linotte galère déjà à faire un si grand nombre de carré alors si vous voulez faire d'autre truc par dessus après bah ça lag :/

Bon j'espère que c'est assez clair^^

Si vous trouvez ce genre de petits tutos utiles faites le moi savoir j'en ferais d'autres au fur et mesure de mes découvertes durant la programmation de mon mmorpg ^^

descriptionFaire un quadrillage EmptyFaire un quadrillage

more_horiz
Tu peux optimiser ton livre en utilisant non pas des carrés mais en utilisant le crayon.... ça sera beaucoup plus rapide et moins consommateur en mémoire !

descriptionFaire un quadrillage EmptyFaire un quadrillage

more_horiz
ça à l'air de demander pas mal de réflexion mais si un jour j'ai besoin de faire un gros quadrillage faudra que je me penche dessus ^^

descriptionFaire un quadrillage EmptyFaire un quadrillage

more_horiz
Ce code de quadrillage ne fonctionne plus à cause de la ligne : projette <
t>


Un moyen d'y remédier ? Et pourquoi ça marche plus ?


Hum j'ai trouvé, maintenant il faut écrire <
<
t>
>

descriptionFaire un quadrillage EmptyRE: Faire un quadrillage

more_horiz
Je viens de coder mon propre quadrillage en m'inspirant du code de Zamirh.
Je l'ai modifié pour pouvoir créer un quadrillage, non pas en indiquant le nombre global de cases, mais en choisissant le nombre de cases en hauteur et en largeur.
De plus, le quadrillage se centre automatiquement par rapport à la toile.

Voici mon code :

Code:


les grands rôles :

("Ici on choisit les dimensions de la toile, des cases, ainsi que le nombre de cases en hauteur et en largeur")
taille_case est un nombre <
- 50
nombre_case_hauteur est un nombre <
- 5
nombre_case_largeur est un nombre <
- 5
nombre_case est un nombre <
- nombre_case_hauteur*nombre_case_largeur
fond est une toile , hauteur vaut 800 , largeur vaut 800, couleur vaut "blanc"

Principal :

rôles :

case est un texte
grille est un casier de rectangle
xx est un nombre <
- (((largeur de fond/taille_case) - nombre_case_largeur)/2)*taille_case
yy est un nombre <
- (((hauteur de fond/taille_case) - nombre_case_hauteur)/2)*taille_case
Actions :

Projette le fond
pour chaque nombre_case, lis
tu concatènes "case_", joker 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 "noir"
ajoute création dans grille
Projette création
yy = yy + taille_case
si yy est plus grand que ((nombre_case_hauteur -1)*taille_case) + (((hauteur de fond/taille_case) - nombre_case_hauteur)/2)*taille_case alors lis
yy = (((hauteur de fond/taille_case) - nombre_case_hauteur)/2)*taille_case
xx = xx + taille_case
ferme
ferme
termine

descriptionFaire un quadrillage EmptyRE: Faire un quadrillage

more_horiz
c'est tip top ça x)

descriptionFaire un quadrillage EmptyRE: Faire un quadrillage

more_horiz
J'ai amélioré la numérotation des cases afin de les repérer plus facilement :

Code:


Les grands rôles :

taille_case est un nombre <
- 50
nombre_case_hauteur est un nombre <
- 5
nombre_case_largeur est un nombre <
- 5
fond est une toile , hauteur vaut 800 , largeur vaut 800, couleur vaut "blanc"

Principal :

rôles :

i est un nombre
j est un nombre
case est un texte
grille est un casier de rectangle
xx est un nombre <
- (((largeur de fond/taille_case) - nombre_case_largeur)/2)*taille_case
yy est un nombre <
- (((hauteur de fond/taille_case) - nombre_case_hauteur)/2)*taille_case
Actions :

Projette le fond
pour i de 1 à nombre_case_hauteur, lis
pour j de 1 à nombre_case_largeur, lis
tu concatènes "case_" + 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 "noir"
ajoute création dans grille
Projette création
case !
yy = yy + taille_case
si yy est plus grand que ((nombre_case_hauteur -1)*taille_case) + (((hauteur de fond/taille_case) - nombre_case_hauteur)/2)*taille_case alors lis
yy = (((hauteur de fond/taille_case) - nombre_case_hauteur)/2)*taille_case
xx = xx + taille_case
ferme
ferme
ferme
termine

Ainsi, le tableau affiche :
Case_1.1
Case_1.2
Case_1.3
etc...

descriptionFaire un quadrillage EmptyRe: Faire un quadrillage

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