Champ de vision avec obstacle et cible à trouver

Description

Bonjour,

Deux policiers sur la scène (en bleu) regarde autour d'eux pour vous chercher (en rouge). S'ils vous trouvent, il vous fonce dessus. Le champ de vision est géré en prenant en compte les obstacles, la distance (on voit moins bien de loin, surtout sur les côtés). J'aurais aimé faire encore plus réaliste (du point de vu de la vu, pas des graphismes), mais ça consomme beaucoup trop en ressource.

Principaux soucis :
- Consommation CPU (là y a 2 policiers, avec 1 ça va)
- Obstacle limité en taille minimale (relié à la consommation CPU)

Conclusion :


Mise à jour : explication du fonctionnement.

Au début je voulais faire une méthode simple et peu gourmande en ressource, qui consiste à regarder où est le joueur, à tracer une ligne entre lui et le policier, et à regarder s'il y a un obstacle entre les deux.
Le problème c'est qu'on ne peut pas afficher le champ de vision, ce que je voulais faire !
Mais je vais peut-être mettre une option pour cacher le champ de vision. Là alors, l'appli sera beaucoup plus rapide, même avec 4 ou 5 policiers je pense.

Là je part du policier, j'avance progressivement jusqu'aux bord du champ de vision (donc je quadrille le champ de vision avec une précision de "pas"). Dès que je rencontre un obstacle, je regarde de plus près la dernière portion scanné (avec le "pas2"). Ce qui permet d'augmenter la précision au niveau des obstacles.

Dès que je rencontre un obstacle, ou si j'arrive à la distance maximum visible par le policier (qui dépend de la position sur le champ de vision), je fais un lineTo() jusqu'à cette position.

A la fin, je fais un lineTo() jusqu'au policier pour terminer le champ de vision, et un endFill().

Enfin je change la couleur en fonction de l'état (grâce à l'objet Color()).

J'essayerai de mettre à jour la source sur ce site, mais dans le cas où j'oublierai, ou si j'ai simplement la flemme [:p], vous pouvez toujours aller là : http://lfabreges.free.fr/slagt/compile/Divers/Vision ou là http://lfabreges.free.fr/slagt

Non, ça n'est pas un jeu à part entière, mais je savais pas où le mettre...

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.