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

Développement 2D, 3D et Jeux Discussion :

demande d'explication sur la crétion d grille hexagonal


Sujet :

Développement 2D, 3D et Jeux

  1. #1
    Membre chevronné
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    761
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 761
    Points : 2 102
    Points
    2 102
    Par défaut demande d'explication sur la crétion d grille hexagonal
    Bonjour,

    Dernièrement, je me suit penché sur la manière de faire des grilles avec des hexagones. En cherchant, je suis tombé sur se lien qui donne des exemples en pseudo-code:

    http://www.redblobgames.com/grids/hexagons/

    Globalement j'arrive à peut près a suivr,e mais certain éléments de pseudo-code m'échappe un peux. J'aurais voulus profiter de vos lumières sur certaine écriture.

    Dans la partie : "Movement Range" comment faut il interprété min(N, -Δx+N) et max(-N, -Δx-N)? Est ce que ça renvoit le plus petit et le plus grand des deux? Que représente N exactement?

    Dans la partie "Single ring" le code m'échappe. on entend quoi par le code : H = direction(4).scale(R) . Est ce qu'on est toujours dans le calcule par le cube?

    Si vous avez d'autre lien comme ça, n' hésité pas .

    Bonne journée,

  2. #2
    Rédacteur/Modérateur

    Avatar de yahiko
    Homme Profil pro
    Développeur
    Inscrit en
    Juillet 2013
    Messages
    1 423
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 1 423
    Points : 8 700
    Points
    8 700
    Billets dans le blog
    43
    Par défaut
    Citation Envoyé par pierre-y Voir le message
    Dans la partie : "Movement Range" comment faut il interprété min(N, -Δx+N) et max(-N, -Δx-N)? Est ce que ça renvoit le plus petit et le plus grand des deux? Que représente N exactement?
    N représente la distance souhaitée ou le nombre de pas (steps) ou cases. Dans l'algorithme, c'est une constante.
    Concernant min(N, -Δx+N) et max(-N, -Δx-N), si j'interprète correctement, ce sont les bornes d'itérations de Δy optimisées afin de réduire le nombre de cas testés par rapport à la première approche -N ≤ Δy ≤ N. Ceci découle il me semble des équations linéaires Δy = Δx + N et Δy = Δx - N permettant de réduire l'espace autorisé dans la boucle des Δy.

    Dans la partie "Single ring" le code m'échappe. on entend quoi par le code : H = direction(4).scale(R) . Est ce qu'on est toujours dans le calcule par le cube?
    H = direction(4).scale(R) semble correspondre au "déplacement" dans la direction sud-ouest (4) de R cases. C'est le déplacement initial qui permet de placer le "curseur" sur l'anneau à parcourir.
    Tutoriels et FAQ TypeScript

  3. #3
    Membre chevronné
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    761
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 761
    Points : 2 102
    Points
    2 102
    Par défaut
    Merci,
    J'ai beau regarder si il y a des choses sur "les bornes d'itérations", je trouve rien. Tu aurais pas un lien ou un exemple sur la manière de les traiter?

  4. #4
    Rédacteur/Modérateur

    Avatar de yahiko
    Homme Profil pro
    Développeur
    Inscrit en
    Juillet 2013
    Messages
    1 423
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 1 423
    Points : 8 700
    Points
    8 700
    Billets dans le blog
    43
    Par défaut
    La boucle dans un langage réel (ici TypeScript) pourrait donner ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    for (var x = -N; x <= N; x++) {
      for (var y = Math.max(-N, -x-N); y <= Math.min(N, -x+N); y++) {
        var z = -x-y;
        results.append(H.add(Cube(x, y, z)))
    }
    Tutoriels et FAQ TypeScript

  5. #5
    Membre chevronné
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    761
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 761
    Points : 2 102
    Points
    2 102
    Par défaut
    Merci, j'étais partie dans une machine a gaz.

Discussions similaires

  1. Demande d explication sur protocole FTP
    Par Mr_Chut dans le forum Réseau
    Réponses: 1
    Dernier message: 04/05/2007, 18h47
  2. Réponses: 4
    Dernier message: 09/10/2006, 22h12
  3. Réponses: 3
    Dernier message: 27/09/2006, 13h11
  4. [C#] demande d'explication sur un sample msdn
    Par legillou dans le forum Windows Forms
    Réponses: 2
    Dernier message: 27/06/2006, 17h01
  5. [final]demande d'explication sur ce mot-clé
    Par Invité dans le forum Langage
    Réponses: 10
    Dernier message: 18/04/2006, 11h32

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