Bonjour,
Mon système de déchiffrage semble fonctionner correctement mais j'en viens à me demander comment interpréter correctement ces données désormais.
J'imagine que parmi ces 10 caractères pour une cellule se cachent le type de cellule (case normale, soleil de changement de carte, case bloquante, ...)
Me basant sur ce que j'ai pu lire j'ai produit le code suivant :
Je souhaiterai désormais comprendre ce que sont ici Movement, LayerObject2Num et LayerObject2Interactive ...
PS : Si d'ailleurs quelqu'un pouvait me donner un peu plus de détails sur ce morceau de code de maxoubot car celui-ci utilise des constantes partout, ça rend la compréhension assez difficile :
En particulier les méthodes getX et getY qui sont bourrées de constantes
Mon système de déchiffrage semble fonctionner correctement mais j'en viens à me demander comment interpréter correctement ces données désormais.
J'imagine que parmi ces 10 caractères pour une cellule se cachent le type de cellule (case normale, soleil de changement de carte, case bloquante, ...)
Me basant sur ce que j'ai pu lire j'ai produit le code suivant :
C#:
private static readonly string ZKARRAY2 = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_";
public static int HashCodeIndex(char c) { return ZKARRAY2.IndexOf(c); }
private Cell UncompressCell(string data)
{
Cell decompressedCell = default(Cell);
int[] decompressedData = new int[10];
for (int i = data.Length - 1; i >= 0; i--) { decompressedData[i] = HashCodeIndex(data[i]); }
decompressedCell.Movement = ((decompressedData[2] & 56) >> 3);
decompressedCell.LayerObject2Num = ((decompressedData[0] & 2) << 12) + ((decompressedData[7] & 1) << 12) + (decompressedData[8] << 6) + decompressedData[9];
decompressedCell.LayerObject2Interactive = Convert.ToBoolean((decompressedData[7] & 2) >> 1);
return decompressedCell;
}
Je souhaiterai désormais comprendre ce que sont ici Movement, LayerObject2Num et LayerObject2Interactive ...
PS : Si d'ailleurs quelqu'un pouvait me donner un peu plus de détails sur ce morceau de code de maxoubot car celui-ci utilise des constantes partout, ça rend la compréhension assez difficile :
Code:
For i As Integer = 1 To 500
If (.mapDataActuel(i).movement = 2) Then
Dim x As Integer = getX(i)
Dim y As Integer = getY(i)
If ((x - 1) = y) Then
.changeurGauche = i
ElseIf ((x - 27) = y) Then
.changeurDroite = i
ElseIf ((x + y) = 31) Then
.changeurBas = i
ElseIf (y < 0) Then
y = Math.Abs(y)
If (x - y = 1) Then
.changeurHaut = i
End If
End If
End If
Next
En particulier les méthodes getX et getY qui sont bourrées de constantes
Dernière édition: