Bas j'ai tout essayé d'expliqué dans le code commenté, mais :
1. [1010101...011101] sont des data (données littéralement) ici on vas les utiliser de façon à ce que 1 = la tile de l'herbe et 0 = rien (ici c'est une tile blanche).. si pas comprit je peu encore détailler =)
2. La une propriété intéressante de l'axe Parser tu vas comprendre si tu lit le tuto en anglais
ici, mais je veut bien t’expliquer en français vite fait (les bases du moins).
Ici on vas prendre l'exemple de 2 tile :
:[0000000000000000→Pic1 // la tile RIEN
:[0020129454555555 // la tile HERBE
une tile affichera à l'écran une petite image 8*8.
pour cela on enregistre 16 chiffres hexadécimal (ici RIEN ou HERBE). Par quel magie cela est-ce possible?
d'abord il faut connaître les bases de la conversion hexadécimal = binaire (et vice versa), les voici (je rajoute en décimal pour aider un peu) :
Dec : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 (voici du décimal tout ce qu'il y a de plus simple, de 1 à 15)
Hex : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F (la même chose en hexadécimale)
Bin : 0000, 0001, 0010, 0011, 0100, 0101, 0110, 0111, 1000, 1001, 1010, 1011, 1100, 1101, 1110, 1111 (la c'est moins évident c'est sur, mais c'est la même chose)
Maintenant on vas décortiquer l'HERBE :
Ici en hexadécimal :
0020129454555555
Ici en binaire :
Show/Hide spoilerAfficher/Masquer le spoiler
0000 0000
0010 0000
0001 0010
1001 0100
0101 0100
0101 0101
0101 0101
0101 0101
0101 0101
Mais pourquoi je saute une ligne tout les 2 nombres ? Soit tu l'a vu tout de suite, sois tu peut t'aider de Paint (en méga zoom) sur une dessin 8*8, et recopier dans l'ordre précédemment ; 1 = un point noir, 0 = un point blanc.
...
...
Ok? je peut continuer? ^^
Maintenant que tu a comprit que 2 hexadécimal correspondes à 1 ligne d'une pic 8*8, je peut expliquer le code précèdent :
:[0000000000000000→Pic1 // la tile RIEN
:[0020129454555555 // la tile HERBE
sois en binaire :
Show/Hide spoilerAfficher/Masquer le spoiler
0000 0000
0000 0000
0000 0000
0000 0000
0000 0000
0000 0000
0000 0000
0000 0000→Pic1 //(RIEN)
0000 0000
0010 0000
0001 0010
1001 0100
0101 0100
0101 0101
0101 0101
0101 0101
0101 0101 //(HERBE)
Donc, Si je fait Pt-On(X,Y, Pic+X), si X = 0, alors la partie en X en dessous sera pris en compte :
Show/Hide spoilerAfficher/Masquer le spoiler
XXXX XXXX
XXXX XXXX
XXXX XXXX
XXXX XXXX
XXXX XXXX
XXXX XXXX
XXXX XXXX
XXXX XXXX→Pic1 //(RIEN)
0000 0000 //partie ignoré
0010 0000
0001 0010
1001 0100
0101 0100
0101 0101
0101 0101
0101 0101
0101 0101 //(HERBE)
X = 1 alors la partie en dessous sera pris en compte :
Show/Hide spoilerAfficher/Masquer le spoiler
0000 0000 //partie ignoré
XXXX XXXX
XXXX XXXX
XXXX XXXX
XXXX XXXX
XXXX XXXX
XXXX XXXX
XXXX XXXX→Pic1 //(RIEN)
XXXX XXXX
0010 0000 //partie ignoré
0001 0010
1001 0100
0101 0100
0101 0101
0101 0101
0101 0101
0101 0101 //(HERBE)
Et Si X = 8
Show/Hide spoilerAfficher/Masquer le spoiler
0000 0000
0000 0000 //Toute cette partie *
0000 0000
0000 0000
0000 0000
0000 0000
0000 0000
0000 0000→Pic1 //(RIEN) // * est ignoré
XXXX XXXX
XXXX XXXX
XXXX XXXX
XXXX XXXX
XXXX XXXX
XXXX XXXX
XXXX XXXX
XXXX XXXX//(HERBE)
3. je n'utilise pas ici de simple horizontal + ou vertical+, c'est la map qui est mit en temps réelle à jour.