Salut à tous et à toutes.
Le numéro de case virtuelle, est une notion, un plus indispensable pour programmer, surtout avec CTF.
***** [Les mises en pratique en pièce jointe.] *****
***** Remerciements à ArturH et Seyjin.**********
A quoi sert un numéro de case virtuelle?
En gros à "simplifier" une coordonnée x,y, à réduire le nombre d'objets actifs dans la scène, car une coordonnée x,y, peut être remplacée par un numéro de case virtuelle.
But du jeu (cahier des charges):
Identifier une case virtuelle, sur une grille virtuelle, via un numéro.
Mise en pratique.
Pour les débutants une formule se met au point avec l'éditeur d'expression.
Taille de l'écran 640x480 pixels / Taille de la case (tuile invisible) 32x32 pixels.
Sens de lecture de la grille "standard" de droite à gauche, pour 300 cases virtuelles, de 0 à 299.
1) Déplacer sur la grille, le curseur.
Formule pour le curseur (actif carré rose).
Réglage du point chaud du curseur à x=0 et y=0, sinon la formule ne fonctionne plus, à moins de modifier la formule en tenant compte des valeurs d'un point chaud différent.
Cette formule oblige CTF à déplacer case par case le curseur via la souris.
Fixe la position x,y du curseur à la position du pointeur x,y de la souris / taille de la tuile de base * taille de la tuile de base
Évidemment on peut adapter la formule (ainsi que les suivantes) à la taille d'une tuile différente de 32x32 pixels, en ajoutant un autre compteur TValeur (taille de la tuile de base).
2) Numéro de case sur l'axe X (horizontal).
Formule pour le compteur XVAleur.
X( "Curseur" ) / 32 >> position x du curseur / 32 >> XValeur de 0 à 19.
3) Numéro de case sur l'axe Y (vertical).
Formule pour le compteur YVAleur.
Y( "Curseur" ) / 32 >> position x du curseur / 32 >> YValeur de 0 à 14.
_____________________________________
Le plus "hard" l'astuce pour calculer le numéro de case virtuelle.
Pour éviter le mal de tête, c'est le moment de prendre un cachet d'aspirine. >> Humour! :D
Après analyse et synthèse la formule finale doit tenir compte de deux choses.
1) Le "décalage" sur l'axe X.
Sur une ligne, le "décalage" est égale au nombre de cases virtuelles sur l'axe X.
Dans notre cas le "décalage"= 20.
2) Le "décalage" sur l'axe Y.
A chaque retour à la ligne on multiplie le "décalage" par YValeur.
Ce qui donne au final pour une grille 2D la formule suivante.
Numéro de case virtuelle = value( "XValeur" ) + ( 20 * value( "YValeur" ) )
Pour info avec un numéro de case virtuelle 3D, on ajoute autant de grilles virtuelles que besoin.
Puis on ajoute un autre "décalage", soit le nombre de numéro de cases virtuelles dans la grille virtuelle.
300 dans notre cas. >> Formule. >> value( "XValeur" ) + ( 20 * value( "YValeur" ) ) + (300 * value( "ZValeur" )).
Le compteur ZValeur étant le nombre de grilles virtuelles de 0 à selon les besoins.
______________________________________________________________________________
L'idée d'un numéro de case virtuelle, est venue à cause du raz le bol de la coordonnée x,y(,z), de doublons d'objets actifs dans la scène.
Le principe de la grille virtuelle est pratique, pour simplifier la gestion d'un monde avec des centaines de maps.
Quand on utilise le principe "grille virtuelle", on découvre des effets sympathiques.
Merci de votre attention.
Très cordialement.