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'aide "l'analyse la conception avant l'implémentation .."


Sujet :

Développement 2D, 3D et Jeux

  1. #1
    Nouveau membre du Club
    Inscrit en
    Décembre 2007
    Messages
    65
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Décembre 2007
    Messages : 65
    Points : 37
    Points
    37
    Par défaut demande d'aide "l'analyse la conception avant l'implémentation .."
    salut tous le monde.

    je réalise dans ce temps un jeux tetris.

    dans ce projet il est préférable de trvaillé avec la notion objet.

    avant l'imlémentation je vous propose de voir mes classes,

    j'ai besoin de vos remarques qui peuvent réduire l'implémentation.
    -------------------------------------------------------------------------------
    class tetris
    {
    int t[30][15];// matice de la tetris
    obj_l * l; //
    obj_L * L;//
    obj_T * T;//
    obj_c * C;//ce sont des pointeurs vers les 6 type de pièce de la tetris
    obj_s * S;//
    obj_z * Z; //ces objet sont hérité d'une classe mer contenant des propièté commune

    public:
    ...
    }

    chaque fois je prend un pointeur pour l'introduire dans "t" au coordonnées [7][29]
    puis pour le cycle de jeu : j'ai réfléchi a ces étapes

    * lecture du clavier case of ( bas , haus , gauche , droite)
    * calcule de la possibilité du ce déplacement a l'aide d'une fonction définie dans les classes obj_*
    * effectué le déplacement
    * tester le blocage (avant la déscente automatique de la pièce )
    *si descente prmise alors descente
    *sinon rejeté le pointeur de cte obj_* et prendre le suivant
    ....

    --------------------------------------------------------------------------

    le problème est pour chaque type obj_* il me faut répéter ce cycle car le déplacement est les rotation diffère d'un objet à un autre...

    si vous voyer une solution plus optimale je vous remerci de me la proposer

  2. #2
    screetch
    Invité(e)
    Par défaut
    il y a 7 pieces dans un tetris, car la memoire immediate permet de retenir 7 choses

    il te manque le L inversé

  3. #3
    Membre actif Avatar de babar63
    Homme Profil pro
    Développeur jeux vidéos/3d Temps réel
    Inscrit en
    Septembre 2005
    Messages
    241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Développeur jeux vidéos/3d Temps réel

    Informations forums :
    Inscription : Septembre 2005
    Messages : 241
    Points : 207
    Points
    207
    Par défaut
    Bonjour houwa, pour ma part j'aurais plutot crée une classe de base (Entity) definissant les propriétés commune des differentes entitées du jeu et permettant d'y inclure des fonctions qui seraient redondantes a toutes les entités. Ensuite ta classe Tétris possede un vecteur sur les entités (std::vector<Entity *>) cela te permettra d'alleger grandement ton code et donc d'y voir plus clair... Tu n'a plus qu'a definir par exemple une fonction update et draw en polymorphe dans Entity pour pouvoir gérer efficacement toutes tes entitées...
    - hp pavillon dv7
    - intel(R) Core(TM)2 Duo CPU P8400 @ 2.26GHz 2.27GHz
    - nVidia GeForce 9600M GT
    - mémoire vive : 3.0Go

  4. #4
    Membre averti
    Homme Profil pro
    Inscrit en
    Mars 2005
    Messages
    249
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Mars 2005
    Messages : 249
    Points : 349
    Points
    349
    Par défaut
    Tout à fait d'accord avec babar63

  5. #5
    Nouveau membre du Club
    Inscrit en
    Décembre 2007
    Messages
    65
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Décembre 2007
    Messages : 65
    Points : 37
    Points
    37
    Par défaut
    j'ai déja une classe de base nommé objetetris

    class objetetris
    {
    int cel_obj[4][2];// contenant les coordonné des cellules dans la tetris
    int bloque;// elle aura les valeurs 0 ou 1 elle indique si l'objet est empilé dans la teris ou pas (pour la 1iere pièce elle sera bloqué lorsequ'elle arrive en bas de la tetris )


    public:
    ...
    vod dep_bas();
    void dep_gauche();
    void dep_droite();// fonctions de déplacement les coordonné de cel_obj seron modifié selon la direction
    };

    et pour les caractéristique non commune:
    class obj_L : public objetetris
    {
    int etat;// indique l'état de la pièce pour pouvoir géré les rotations

    public:
    void dep_rotation();// cette fonction est propre a chaque pièce
    }

    la fonction drow peut être que c'est mieux de l'utilisé dans la classe tetris,

    ta remarque sur le "vecteur sur les entités (std::vector<Entity *>)..."
    je ne conné pas utilisé ce vecteur, si m'éxplique un peut plus...
    merci pour les réponse

  6. #6
    Nouveau membre du Club
    Inscrit en
    Décembre 2007
    Messages
    65
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Décembre 2007
    Messages : 65
    Points : 37
    Points
    37
    Par défaut
    Citation Envoyé par screetch Voir le message
    il y a 7 pieces dans un tetris, car la memoire immediate permet de retenir 7 choses
    peu tu me parlé plus sur cette mémoire,..

  7. #7
    Membre actif Avatar de babar63
    Homme Profil pro
    Développeur jeux vidéos/3d Temps réel
    Inscrit en
    Septembre 2005
    Messages
    241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Développeur jeux vidéos/3d Temps réel

    Informations forums :
    Inscription : Septembre 2005
    Messages : 241
    Points : 207
    Points
    207
    Par défaut
    la fonction drow peut être que c'est mieux de l'utilisé dans la classe tetris
    En fait cela depend encore de ta conception. En général pour la programmation d'un jeu il faut separer au maximum les differents composants, et non faire une classe "all-powerful" qui fasse tout. Sinon pour ta class objetetris, a tu reelement besoin de deplacement bas, gauche, droite ?
    je ne conné pas utilisé ce vecteur, si m'éxplique un peut plus
    Le vector est un container de la STL (standard template library), il y a des nombreux exemple dans la faq ou tutoriels sur developpez... Surtout ayant deja une classe de base pour tes differents objets se serez dommage de ne pas utiliser un peu de polymorphisme
    - hp pavillon dv7
    - intel(R) Core(TM)2 Duo CPU P8400 @ 2.26GHz 2.27GHz
    - nVidia GeForce 9600M GT
    - mémoire vive : 3.0Go

  8. #8
    screetch
    Invité(e)
    Par défaut
    as tu pensé a ce qui se passe lorsque tu retires une ligne du jeu ? la ligne du dessus tombe d'un rang, mais les blocs ne sont plus du tout independants, ils sont agglomeres dans la ligne, il ne faut donc plus les representer individuellement.

    je ne pense pas que ce soit une bonne idée de traiter les formes une par une, en fait

    ce que je disais sur les 7 pieces, c'est que le concepteur de Tetris a concu le jeu avec 7 pieces car la memoire immediate humaine permet de stocker 7 choses, ce qui te permet inmanquablement de differencier les pieces les unes des autres et de te rappeler de quelle piece tu as besoin pour boucher un trou, etc. les tetris a 5 cases, permettent beaucoup plus de formes et sont beaucoup plus complexes car necessitent de passer par la "memoire centrale". je parle bien de memoire humaine, pas de memoire d'ordinateur!

    et c'etait juste pour dire que tu as sans doute oublié une forme.

Discussions similaires

  1. Réseau Voip demande d'aide à la conception
    Par aerox-mat dans le forum Méthodes
    Réponses: 1
    Dernier message: 26/03/2010, 08h48
  2. Demande d'aide pour la conception d'un projet
    Par rem02 dans le forum Développement 2D, 3D et Jeux
    Réponses: 5
    Dernier message: 22/10/2008, 15h51
  3. Réponses: 1
    Dernier message: 26/06/2008, 08h23
  4. Réponses: 2
    Dernier message: 04/10/2007, 11h01
  5. Demande d'aide pour analyser un warning
    Par Pierre.g dans le forum C
    Réponses: 2
    Dernier message: 30/10/2006, 22h38

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