18-05-2010, 01:23 PM
j'avais pensé a la manip d'image, mais le problème est que c'est assez lourd point de vue calcul. Ma carte fait (a peu près) 2000*1000 cases, une image de cette taille met au moins 10 sec a etre chargée (sans compter les modifs a faire dedans). Donc, pour mon cas précis, ce n'était pas une solution envisageable.
l'avantage de deux identifiants plutot que id_joueur,x,y est qu'il y a un champ de moins, étant donné le nombre important d'enregistrement, ça chiffre vite! (surtout que je suis limité a 25Mo pour la DB)
if( $var&(1<<3) ) pour tester le 3eme bit de la variable
$var|=(1<<3) pour mettre le 3eme bit à 1
$var&=~(1<<3) pour mettre le 3eme bit à 0
l'avantage de deux identifiants plutot que id_joueur,x,y est qu'il y a un champ de moins, étant donné le nombre important d'enregistrement, ça chiffre vite! (surtout que je suis limité a 25Mo pour la DB)
Citation :Sinon y a la solution du binaire (la plus économe? pas sur...). tu mets un champs texte dans une table et un enregistrement par joueur: avec des 1 et des 0 à la chaine (0 voulant dire inconnu et 1 connu, tu peux mettre d'autres chiffres si tu veux associer plus dinformations aux cases...).pourquoi un champ texte? tu manipuler rapidement un bit d'un nombre contenu dans $var grâce a ceci (les nombres prennent 4 octets pour 32 bits)
if( $var&(1<<3) ) pour tester le 3eme bit de la variable
$var|=(1<<3) pour mettre le 3eme bit à 1
$var&=~(1<<3) pour mettre le 3eme bit à 0
Je signale que je ne détiens pas la vérité unique et absolue, je peux me tromper. La critique peut aussi être constructive. Critiquez moi!
La quête d'Ewilan
http://easy2hack.ma-soiree.be
La quête d'Ewilan
http://easy2hack.ma-soiree.be