4 votes

Algorithme de pile de particules

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í

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X