28-08-2014, 03:47 PM
Bonjour, bonsoir, re, désolé du titre pas trop explicite, c'est que je vais poser 3 problème différents.
Contexte : J'ai donc une mini map en Canvas avec la position des joueurs (x,y) , ces joueurs sont supposés avoir une orientation, et la map est supposée contenir des obstacles.
Voici le stade actuel de cette map
Cette version ne contient donc ni les orientations des personnages, ni les obstacles, mais admettons qu'un joueur essaye de passer un obstacle, le bouton "envoyer" n’apparaîtrait pas.
1) Champ de vision d'un joueur :
Pour faire simple un joueur peut voir les joueurs ennemis si ils se trouvent dans un angle de 180° par rapport à son orientation. Si ce n'est pas le cas, le point n’apparaît pas sur la map, et la distance entre eux devient "Inconnue".
Pour ce premier problème, y a t'il donc un moyen de faire un balayage de tous les points contenus dans un angle ? Ou bien dois-je me servir d'un calcul provenant d'un autre monde en utilisant des équations de droites ?
2) Obstacle sur la map :
Deuxième problème, les obstacles, il s'agirait de mur / piliers / rochers répartis sur la map, représentés par des formes simples. Le soucis étant que je ne sais pas trop comment représenter cela dans une base de donnée. Dois-je faire une liste de tous les points étant compté comme "obstacle", ou bien les coordonnées d'une droite+épaisseur pour les murs, car les obstacles sont ici pour dire "Tu ne peux pas tirer ta boule de feu car ton ennemi est derrière ce mur", ça m'a simplement l'air très chaotique de trouver un calcul permettant de savoir si un angle à partir d'un point voit un si autre point est compris dans cet angle et qu'il n'y a pas de droites / points entre les deux...
Contexte : J'ai donc une mini map en Canvas avec la position des joueurs (x,y) , ces joueurs sont supposés avoir une orientation, et la map est supposée contenir des obstacles.
Voici le stade actuel de cette map
Cette version ne contient donc ni les orientations des personnages, ni les obstacles, mais admettons qu'un joueur essaye de passer un obstacle, le bouton "envoyer" n’apparaîtrait pas.
1) Champ de vision d'un joueur :
Pour faire simple un joueur peut voir les joueurs ennemis si ils se trouvent dans un angle de 180° par rapport à son orientation. Si ce n'est pas le cas, le point n’apparaît pas sur la map, et la distance entre eux devient "Inconnue".
Pour ce premier problème, y a t'il donc un moyen de faire un balayage de tous les points contenus dans un angle ? Ou bien dois-je me servir d'un calcul provenant d'un autre monde en utilisant des équations de droites ?
2) Obstacle sur la map :
Deuxième problème, les obstacles, il s'agirait de mur / piliers / rochers répartis sur la map, représentés par des formes simples. Le soucis étant que je ne sais pas trop comment représenter cela dans une base de donnée. Dois-je faire une liste de tous les points étant compté comme "obstacle", ou bien les coordonnées d'une droite+épaisseur pour les murs, car les obstacles sont ici pour dire "Tu ne peux pas tirer ta boule de feu car ton ennemi est derrière ce mur", ça m'a simplement l'air très chaotique de trouver un calcul permettant de savoir si un angle à partir d'un point voit un si autre point est compris dans cet angle et qu'il n'y a pas de droites / points entre les deux...