IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Algorithmes et structures de données Discussion :

Damier : triangulaire


Sujet :

Algorithmes et structures de données

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    197
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 197
    Points : 89
    Points
    89
    Par défaut Damier : triangulaire
    Bonjour,

    je sais que je suis pas le premier à vouloir faire sa mais je ne trouve pas les bon mot clé sur internet pour la solution.

    Je cherche à tracé un damier de type triangle .
    comme sur cette image:
    http://www.linternaute.com/science/j...xagone-jeu.jpg

    Seulement je cherche la façon la plus simple pour:
    -tracer le damier
    -récupérer sur quel triangle se trouve la souris grace à ses coordonnées
    -représenter l'information (noeud ... ?) pour parcourir aisément le damier.

    Merci

  2. #2
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Points : 6 498
    Points
    6 498
    Par défaut
    Peut-être peux-tu t'inspirer des codes qui se trouvent sur cette page .
    Perso, j'ai fait la partie Prolog (c'est plutôt du XPCE d'ailleurs) , donc je pourrais éventuellement t'aider.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    197
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 197
    Points : 89
    Points
    89
    Par défaut
    Hum j'aime bien le tout récursif , mais ici je souhaite le faire en language objet AS3 qui ressemble beaucoup à Java.

    J'avoue qu'a l'heure actuel je serais capable de réaliser mes objectifs.
    Mais sa demande vraiment une partie code pas vraiment agréable.
    Comme pour positionner la souris par rapport à un triangle , il faut calculer la pente grace à une équation de droite.
    Pour la représentation avec des noeuds, sa demande la gestion de listes ,on est donc loin de la représentation naturel.

    Je cherche a savoir si une technique plus simple existe, car je ne voudrais pas me lancer dans la partie code, et me rendre compte que il existait des méthodes plus agréables par la suite.


    Sinon effectivement le damier en triangle et une variante du damier hexagonale.

  4. #4
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Points : 6 498
    Points
    6 498
    Par défaut
    Il n'y a rien de récursif dans le code Prolog en tout cas.
    C'est pour quel jeu exactement ? Qu'st-ce qui est le plus important, les triangles ou les cercles ?
    Pour ce qui est de repérer les formes, en XPCE, et je pense donc dans les autres langages aussi, on peut associer directement un click de souris à un objet sans avoir aucun calcul à faire.

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    197
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 197
    Points : 89
    Points
    89
    Par défaut
    J'avais réaliser un Astar + IA pour un jeu dans le cadre scolaire en prolog , j'avais tous écrit en récursif c'était pas toujours évident.
    Mais je doit utiliser le terme récursif par abus de langage.

    Sinon , ce n'est pas vraiment pour un jeu , c'est pour réaliser une petite maquette pour m'amuser.

    Mes objectif sont:
    -afficher des triangles suivant le schéma visible à l'adresse url.
    -mettre en couleur rouge le triangle pointé par la souris.
    -mettre en couleur bleu les triangles adjacent au triangle rouge.
    -mettre en couleur jaune les triangles à une distance n-conexité du triangle rouge avec n comme variable

    J'ai remarqué que beaucoup de jeux utilisent ce genre de damier et j'aimerais faire mon propre moteur pour voir si marche marche bien en AS3, en fessent des tests sur AIR .(temps d'execution , taille des triangles pour une lisibilité optimale ...)


    Sinon ,oui en AS3 on peut faire un test de clic souris au pixel pres sur une forme avec "hitestPoint", mais c'est tres gourmands et franchement moche, je préfère écrire mon propre code.

  6. #6
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 084
    Points
    16 084
    Par défaut
    Citation Envoyé par carton99 Voir le message
    Je cherche à tracé un damier de type triangle .
    comme sur cette image:
    http://www.linternaute.com/science/j...xagone-jeu.jpg
    Ton damier à l'air d'avoir des propriétés remarquables, en particulier la position des sommets (cercles sur ton schéma).

    Soit (x,y) un sommet quelconque.

    Le 2nd sommet consécutif sur la ligne horizontale est assez évident à trouver : (x+s,y). "s" étant la longueur du coté du triangle

    Une fois ces 2 sommets placés, trouver le sommet de la ligne supérieure/inférieure est simple: (x+s/2, y +/- h ). 'h' étant la hauteur du triangle = s.racine(3)/2

    Il suffit ensuite de construire le damier ligne par ligne.

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    197
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 197
    Points : 89
    Points
    89
    Par défaut
    Ok j'ai finnit ma maquette:
    A tester ici:
    http://jxfl.free.fr/WE68/WE68-Fuel001.swf

    Je passe rapidement la partie detection du triangle, c'est des maths personnellement je calcul la pente de la droite et je détermine si la souris est au-dessus ou en dessous de la pente .Sur ma maquette la petite croix peut aider à comprendre le fonctionnement.

    Par contre pour la représentation j'ai trouver une petite astuce très intéressante.
    Un damier s'écrit comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    var lvl:Array = [	[1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2], 
    			[2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1], 
    			[1, 2, 1, 2, 0, 0, 0, 2, 1, 2, 1, 2, 1, 2], 
    			[2, 1, 2, 1, 0, 0, 0, 1, 2, 1, 2, 1, 2, 1], 
    			[1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2],
    			[2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1]];
    Avec 1 un triangle et 2 un triangle avec une rotation de 180 degrés et 0 pour rien.
    Ce qui me permet de créer des damiers unique.
    J'utilise ce tableau pour dessiner le tableau et pour traiter les connexités.
    L'avantage par rapport au système de représentation par noeud c'est qu'ici on a une représentation naturel.

  8. #8
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Points : 6 498
    Points
    6 498
    Par défaut
    OK. Quelle est la suite ?

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    197
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 197
    Points : 89
    Points
    89
    Par défaut
    Pas de suite immédiate.
    Mon cahier des charges de départ et réalisé.

    Merci pour les propositions apporté.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [3D] le maillage triangulaire
    Par the_king dans le forum Développement 2D, 3D et Jeux
    Réponses: 7
    Dernier message: 20/04/2007, 13h30
  2. comment faire un damier ?
    Par ded jay dans le forum Visual C++
    Réponses: 16
    Dernier message: 12/07/2006, 14h58
  3. [debutant]Afficher un damier
    Par mikedavem dans le forum 2D
    Réponses: 2
    Dernier message: 08/05/2006, 15h39
  4. vision d'un pion sur un damier.
    Par Med_Prog dans le forum Algorithmes et structures de données
    Réponses: 16
    Dernier message: 08/09/2005, 10h39
  5. Damier en OpenGL C++
    Par iron dans le forum OpenGL
    Réponses: 1
    Dernier message: 03/01/2005, 18h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo