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

ActionScript 3 Discussion :

Tetris avec demi hexagones


Sujet :

ActionScript 3

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 4
    Par défaut Tetris avec demi hexagones
    Bonjour à tous,

    Je me tourne vers vous car je me trouve totalement désemparé...
    Je dois concevoir une application Flash semblable à Tetris, mais où les pièces seraient des demi-hexagones... (tous de la même taille)
    J'ai bien suivi pas mal de tuto et télechargé beaucoup de sources et j'ai réussi à comprendre les bases pour faire un Tetris.
    Mais dés lors qu'on remplace les pièces formées de carrés par des pièces formées de triangles, pour moi ça devient très complexe... et là, j'ai du mal à m'en sortir pour détecter si une pièce en touche une autre, si elle peut tourner...

    Si quelqu'un avait un peu de temps pour m'éclairer j'en serais très reconnaissant !
    Images attachées Images attachées  

  2. #2
    Membre éprouvé
    Profil pro
    Développeur multimédia
    Inscrit en
    Juin 2009
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur multimédia

    Informations forums :
    Inscription : Juin 2009
    Messages : 130
    Par défaut
    Vaste sujet...

    Tu peux utilisé de trucs tout faire de détection de collision comme box2D, mais c'est un peut dur à prendre en main.

    Si comme dans ton exemple les triangles sont isométriques, quelques soit le sens dans le quel on les retournes, il n'existe que 2 états.

    L'autre solution serait donc d'abstraire ce que tu vois, et au lieu de considéré une ligne contenant successivement des triangles tête en haut tête en bas, tu démultiplie des lignes pour avoir un coup une ligne acceptant les tête en haut, un coup les ligne acceptant les tête en bas.

  3. #3
    Membre éclairé Avatar de SnowStyle
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2005
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Octobre 2005
    Messages : 73
    Par défaut
    Malheureusement il ne s'agit pas de triangles mais d'un demi-hexagone comme spécifié par l'auteur, même si sur l'image c'est un assemblage de triangles donc ça prête à confusion

    Sinon techniquement même si la pièce est un demi-hexagone ça change rien, si tu es capable de le faire avec des carré, ça fonctionne pareil.
    Je veux dire même si la forme des pièces est différente, ça reste une grille de cases.
    Il y a juste un peu plus de vérifications pré-assemblage à faire.
    Si c'est deux rectangles c'est plus simple, un carré du rectangle qui entre en collision bloque le déplacement.
    Avec deux demi-hexagones il faut déterminer si les bords peuvent s'assembler en fonction des orientations des pièces.

  4. #4
    Rédacteur

    Avatar de The_Pretender
    Homme Profil pro
    Formateur Développement / Programmation
    Inscrit en
    Juin 2004
    Messages
    739
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Formateur Développement / Programmation
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2004
    Messages : 739
    Réclamez La Méthode Développement Facile pour Créer Rapidement des Applications Performantes sur Mobiles et Ordinateurs : Développement Facile

    Développez des Applications Web Performantes avec la Formation Vidéos Developpez : Programmation Facile

    Découvrez : Tutoriels, ressources AS2 et AS3

  5. #5
    Membre actif
    Inscrit en
    Avril 2011
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Avril 2011
    Messages : 58
    Par défaut
    SnowStyle :fazermokeur a raison c'est dix fois plus simple de traiter le problème en prenant les pièces comme 3 triangles liés.

    Il n'y a pas besoin de détection de collision, pas vraiment. Il faut juste savoir si la place en dessous de chaque triangle est libre ou occupée.

    Pour te simplifier le raisonnement travaille avec une grille carré où tu divise chaque carré par une diagonale.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    ---------------------------------------------
    | \ | \ | \ | \ | \ | \ | \ | \ | \ | \ | \ |
    ---------------------------------------------
    | \ | \ | \ | \ | \ | \ | \ | \ | \ | \ | \ |
    ---------------------------------------------
    | \ | \ | \ | \ | \ | \ | \ | \ | \ | \ | \ |
    ---------------------------------------------
    | \ | \ | \ | \ | \ | \ | \ | \ | \ | \ | \ |
    ---------------------------------------------
    Tu as donc un tétris de base où chaque case est divisée en 2.

    Il me plait bien ton projet. Tu fais ça dans quel cadre ? N'hésite pas à me MP si tu as besoin d'aide. Et pense à poster le truc fini surtout.

Discussions similaires

  1. Jeu Tetris avec VB
    Par daniel1985 dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 18/04/2013, 15h59
  2. Réponses: 6
    Dernier message: 16/10/2010, 14h23
  3. tore avec réseau hexagonal
    Par laulau114 dans le forum MATLAB
    Réponses: 7
    Dernier message: 14/10/2010, 15h30
  4. Créer un jeu C avec SDL (hexagones)
    Par gaby_1 dans le forum Développement 2D, 3D et Jeux
    Réponses: 5
    Dernier message: 21/03/2007, 16h39

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