Avertissement: c'est l'une de ces redoutables questions de style Minecraft, mais je pense que c'est plus une question de structures de données et d'algorithmes
Je suis vraiment nouveau dans les structures de données 3D et je me demande quelle est la meilleure façon de stocker et de faire correspondre une structure de bloc 3D.
À l'heure actuelle, le joueur est capable de placer des blocs dans n'importe quel espace arbitraire et lorsque ces blocs correspondent à une structure prédéfinie, un événement se produit. La façon dont je le fais actuellement est lorsqu'un joueur place un bloc, le jeu vérifie récursivement chaque bloc adjacent pour trouver le bloc avec les coordonnées x, y, z les plus basses et fait de ce bloc le bloc racine. Ensuite, il vérifie le reste des blocs, basé sur le bloc racine, pour s'assurer qu'ils correspondent à un certain modèle. Le problème est que plus le modèle devient compliqué, plus mon code (terriblement inefficace) l'est aussi.
Je pense que la meilleure façon de le faire est de stocker un type de matrice qui définit la structure, puis de faire correspondre la matrice à chaque fois qu'un joueur place un bloc. Existe-t-il déjà des structures / algorithmes de données qui correspondent à ce type de problème?