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

Python Discussion :

faire du porte à porte ^^


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    1 068
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 068
    Par défaut faire du porte à porte ^^
    salut,
    j'ai un debut d'idée de projet( qui va surement avorté) , ça consiste à se balader de piéce en piéce dans un decor photo, passer des portes et interagir avec des objets. Simple en soit; cependant je n'arrive pas à me decider sur la structuration des données.
    Il faut pouvoir facilement ajouter/enlever/modifier le shmilblick; j'ai pensé à un truc du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
    class piece :
        'class pour se simplifier la vie'
    class Porte:
        def __init__(position,piece):
        #position du decor pour caler l'affichage
        #piece sur laquel ouvre la porte
            self.position=position
            self.piece=piece
     
    salon=piece()
    salon.decor='/decor/salon.png'
    salon.portes=[Porte(45,chambre),Porte(71,cuisine),...]
    salon.objets=[....]
     
    chamre=piece()
    chambre.decor='/decor/chambre.png'
    salon.portes=[Porte(17,couloir),Porte(83,salon),...]
    salon.objets=[....]
     
    ...
    ...
    je trouve que c'est facile à lire, le problème c'est les déclarations croisées des portes.


    avez-vous une autre idée de structure; comment régler le problème des instanciations croisées ?

    merci.

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 754
    Par défaut
    Bonsoir,
    Je dirais qu'une pièce à une liste de porte et qu'une porte permet de passer entre des pièces (seulement 2?).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    class Porte():
        def __init__(self, ident, **kwds):
              ...
             pieces = kwds.get('pieces', [])
             self._pieces = dict()
             self.add_pieces(pieces)
     
    class Piece():
       def __init__(self, nom, **kwds):
             ...
             portes = kwds.get('portes', [])
             self._portes = dict()
             self.add_portes(portes)
    kwds permet d'initialiser Piece et Porte de la façon suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    p1 = Porte(51) # pour l'instant pas de pieces...
    salon = Piece("salon", portes=[p1])
    salon.add_portes ajoute les portes dans le dictionnaire self._portes si elle n'est pas déjà présente. La clé est l'ident de la porte.
    Puis demande à porte.add_porte d'ajouter [self] au "dict" des portes attachées à la pièce.

    Bon c'est une idée à 3 sous.
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre Expert
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    1 068
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 068
    Par défaut
    merci wiztricks,
    finalement j'ai trouvé ça; je transforme un fichier texte en dictionnaire, genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    salon
    portes:[(45,'chambre'),(271,'cuisine'),(483,'salon')]
    objets:[]
     
    chambre
    portes:[(17,'couloir'),(83,'salon')]
    objets:[]
    en sortie:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    {'salon':{'portes':[(45,'chambre'),(271,'cuisine'),(483,'salon')],'objets':[]},'chambre':{'portes':[(17,'couloir'),(83,'salon')],'objets':[]}}

Discussions similaires

  1. Comment faire de la redirection de port
    Par laclac dans le forum C++
    Réponses: 7
    Dernier message: 05/03/2007, 20h55
  2. Réponses: 8
    Dernier message: 30/11/2006, 12h26
  3. Réponses: 7
    Dernier message: 08/06/2006, 22h51
  4. protocole ftp 2 ports ??? port message, port data
    Par loupin dans le forum Développement
    Réponses: 3
    Dernier message: 03/03/2006, 12h51
  5. [Portée] portée des variables
    Par parksto dans le forum Langage
    Réponses: 7
    Dernier message: 09/05/2004, 21h05

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