Il faut choisir un frame rate à respecter. La formule exacte est 1000/FPS, donc 1000/30 voire 1000/60
Dans ta méthode deplacer() pour le Joueur, tu calcules les nouvelles coordonnées. Puis tu vérifies genre :
if(map.checkCollisions(newY, newX) === true) return false;
et en dessous tu assignes les nouvelles coordonnées (qui ne seront pas assignées si tu passes dans le return false).
et dans checkCollisions() avec this le contexte de l'objet map et arrayPlayer une variable "Joueur[] arrayPlayer" à remplir.
boolean collision;
for(int i = 0, i < this.arrayPlayer; ++i) {
if(this.arrayPlayer[i].y == newY && this.arrayPlayer[i].x == newX) {
collision = true;
break;
}
return collision;
Après tu peux utiliser un while plutôt qu'un for + break ce qui pour les puristes sera peut être perçu comme plus propre lol.
Y'a moyen de faire une recherche dichotomique lorsque t'auras vraiment beaucoup de joueurs
Dans ta méthode deplacer() pour le Joueur, tu calcules les nouvelles coordonnées. Puis tu vérifies genre :
if(map.checkCollisions(newY, newX) === true) return false;
et en dessous tu assignes les nouvelles coordonnées (qui ne seront pas assignées si tu passes dans le return false).
et dans checkCollisions() avec this le contexte de l'objet map et arrayPlayer une variable "Joueur[] arrayPlayer" à remplir.
boolean collision;
for(int i = 0, i < this.arrayPlayer; ++i) {
if(this.arrayPlayer[i].y == newY && this.arrayPlayer[i].x == newX) {
collision = true;
break;
}
return collision;
Après tu peux utiliser un while plutôt qu'un for + break ce qui pour les puristes sera peut être perçu comme plus propre lol.
Y'a moyen de faire une recherche dichotomique lorsque t'auras vraiment beaucoup de joueurs