Dans un projet, je devais déplacer des agents (que l'on pourrait comparer à ta balle) et gérer les collisions. Comme j'étais dans un univers discret (Matrice 2D) la vitesse me posais les même pb que toi enfin je pense. L'agent en avançant de 3 cases en un seul pas de temps traversait les autres sans s'en rendre compte. Pour rectifier cela j'ai divisé le temps. J'ai utilisé des coordonnées réelles en plus des coordonnées discrètes.
Par exemple si la vitesse était au maximum de 3, j'ai divisé le temps en trois phases et du coup chaque agent n'avance au maximum que d'une case par phase. Celui placé en x et qui avançait de 2 cases par pas de temps avance de 2/3 cases à chaque phase. C'est à dire de 0 cases la première phase (x+0.6666666) de 1 à la 2eme phase (x+1.33333333) et encore d'une la phase suivante (x+2).
Je suppose qu'il existe d'autres méthodes mais celle-ci fonctionne et les chercheurs pour qui je travaillais semblaient contents.
Pourquoi parles-tu de 4 cases autour de la boule? il n'y en a pas 8?
Message édité par ptitchep le 19-10-2008 à 19:59:13
---------------
deluser --remove-home ptitchep