Je suis en train de créer un jeu qui comporte environ 3000 particules qui tombent dans une pile. Les particules sont chacune un pixel et j'utilise simplement un boolean[][] pour définir et vérifier quel pixel est clair. Pour l'instant, j'utilise le code suivant
if (!isFalling(m)) {
if (isClear(getX() + 1, getY()) && isClear(getX() + 1, getY() - 1))
setX(getX() + 1);
else if (isClear(getX() - 1, getY()) && isClear(getX() - 1, getY() - 1)
setX(getX() - 1);
}
Le problème est que ce code me donne une forme pyramidale très stricte qui ne semble pas très naturelle. Je veux que cela ressemble à du sel que l'on verse dans un tas. Ma question est la suivante : quelqu'un connaît-il un algorithme ou une meilleure façon de simuler des tas de particules ? Toute aide serait grandement appréciée.
La solution : J'ai trouvé un bon article aquí