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

Programmation multimédia/Jeux Python Discussion :

Codée Snake en 3.2


Sujet :

Programmation multimédia/Jeux Python

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Analyse système
    Inscrit en
    Avril 2015
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Avril 2015
    Messages : 15
    Points : 1
    Points
    1
    Par défaut Codée Snake en 3.2
    Bonjours,

    Je suis actuellement entrain de codée un snake sous python 3.2 et avec pygames.
    Malheureusement je rencontre quelque problème avec mon serpent lorsqu'il avance l'arrière n'avance pas, il dessine en quelque sorte.

    Voici le code source de mon snake: https://friendpaste.com/68dIv86jV3Cp9EMUWDdPJB

    Toute aide seras le bien venue.

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    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 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Salut,

    Il serait préférable de poster votre code dans le corps de votre message en l'incluant dans des balises CODE.
    Et je dis çà car, après avoir essayé 2 fois de recopier votre code et ne récupérant que du garbage, je n'irais pas plus loin.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Analyse système
    Inscrit en
    Avril 2015
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Avril 2015
    Messages : 15
    Points : 1
    Points
    1
    Par défaut
    Désolé je débute sur ce site, cela te convient ainsi ?



    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    import pygame, time
    from pygame.locals import *
    pygame.init()
    mur = pygame.image.load("carrenoir.jpg")
    a="mur"
    b="fond"
    c="serpent"
    fenetre = pygame.display.set_mode((900, 900))
    fond = pygame.image.load("carrenoir.jpg").convert()
    serpent = pygame.image.load("carrevert.jpg").convert()
    mur = pygame.image.load("carreblanc.jpg").convert()
    pomme = pygame.image.load("pomme.jpg").convert()
     
    t=[1]*21
    for i in range(0,21):
          t[i]=[1]*21
    for i in range(0,21):
          t[0][i]=a
          t[i][20]=a
          t[20][i]=a
          t[i][0]=a
    t[8][7]=c
    t[8][8]=c
    t[8][9]=c
    corp_i=8
    corp_j=8
    queue_i=8
    queue_j=9
    tete_i=8
    tete_j=7
    sens=1#1 haut2 droite 3 bas et 4 gauche
    for i in range(0,21):
          print(t[i])
     
    def affiche(t):
          for i in range(0,21):
                for j in range(0,21):
                      if t[i][j]=="mur":
                          fenetre.blit(mur, (40*i+40,40*j+40))
                      if t[i][j]=="fond":
                          fenetre.blit(fond, (40*i+40,40*j+40))
                      if t[i][j]=="serpent":
                          fenetre.blit(serpent, (40*i+40,40*j+40))
          pygame.display.flip()
    affiche(t)
     
    continuer = 1
    while continuer:
          for event in pygame.event.get():
                if event.type == QUIT:
                      continuer = 0
                if event.type == KEYDOWN:
                      if event.key == K_LEFT:
                            if sens==3:
                                  sens=4
                            elif sens==4:
                                  sens=4
                            elif sens==1:
                                  sens=4
                            elif sens==2:
                                  sens=2
                      if event.key == K_RIGHT:
                            if sens==3:
                                  sens=2
                            elif sens==4:
                                  sens=4
                            elif sens==1:
                                  sens=2
                            elif sens==2:
                                  sens=2
                      if event.key == K_UP:
                            if sens==3:
                                  sens=3
                            elif sens==4:
                                  sens=1
                            elif sens==1:
                                  sens=1
                            elif sens==2:
                                  sens=1
                      if event.key == K_DOWN:
                            if sens==1:
                                  sens=1
                            elif sens==3:
                                  sens=3
                            elif sens==4:
                                  sens=3
                            elif sens==2:
                                  sens=3
     
                      #if event.key == K_p:
                       #     if time.sleep(0.1):
                        #          time.sleep(9999999999999999999)
                         #   elif time.sleep(9999999999999999999):
                          #        time.sleep(0.1)
    #1 haut 2 droite 3 bas et 4 gauche
          if sens==4:
                tete_i=tete_i+1
                queue_i=queue_i+1
                corp_i=corp_i+1
          if sens==3:
                tete_j=tete_j+1
                queue_j=queue_j+1
                corp_j=corp_j+1
          if sens==2:
                tete_i=tete_i-1
                queue_i=queue_i-1
                corp_i=corp_i-1
          if sens==1:
                tete_j=tete_j-1
                queue_j=queue_j-1
                corp_j=corp_j-1
          time.sleep(0.1)
          t[queue_i][queue_j]="fond"
          t[tete_i][tete_j]=c
          t[corp_i][corp_j]=c
          affiche(t)

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    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 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Citation Envoyé par SKKYY789 Voir le message
    Désolé je débute sur ce site, cela te convient ainsi ?
    Il eut été plus "cool" de sélectionner le code avant de cliquer sur l'insertion de la balise: mais çà je peux l'éditer...
    J'espère que quelqu'un prendra le temps de comprendre le code que vous avez écrit et qu'il vous donnera des idées.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Analyse système
    Inscrit en
    Avril 2015
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Avril 2015
    Messages : 15
    Points : 1
    Points
    1
    Par défaut
    Personne n'a une idée pour m'aider ?

  6. #6
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    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 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Citation Envoyé par SKKYY789 Voir le message
    Personne n'a une idée pour m'aider ?
    Vu l'état de votre code, il faudrait prendre une feuille de papier quadrillé pour représenter les cases, le serpent, son corps, y représenter les différentes variables utilisées,... Puis simuler ce qui se passe après chaque itération "pour voir".
    Fastidieux n'est ce pas? Cela explique peut être le manque de bonnes volontés.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  7. #7
    Nouveau Candidat au Club
    Homme Profil pro
    Analyse système
    Inscrit en
    Avril 2015
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Avril 2015
    Messages : 15
    Points : 1
    Points
    1
    Par défaut
    Tu pense pas que c'est la première chose que j'ai fait pour définir le sens en fonction de I et J ?

  8. #8
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 860
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 860
    Points : 219 062
    Points
    219 062
    Billets dans le blog
    120
    Par défaut
    Bonjour,

    Zut je n'ai pas les images pour tester
    Dommage, car d'après le nom des images, on aurait pu faire en sorte de ne pas en avoir besoin, avec le bon blit.
    't' comme nom de variable, ce n'est pas clair du tout et n'aide pas à la compréhension (c'est pour cela qu'il est important de bien nommer les variables). Je comprend que c'est la grille du jeu, là où les données du serpent seront.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    corp_i=8
    corp_j=8
    queue_i=8
    queue_j=9
    tete_i=8
    tete_j=7
    Pourquoi ne pas utiliser les "x" et "y" ?
    Une bonne idée serait d'avoir une structure/classe pour les coordonnées 2D.

    Le 21 étant un nombre magique, je le placerai bien dans une variable genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    MAX_X = 21
    MAX_Y = 21
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    if sens==3:
                                  sens=4
                            elif sens==4:
                                  sens=4
                            elif sens==1:
                                  sens=4
                            elif sens==2:
                                  sens=2
    Hautement simplifiable.
    Genre :
    Je suis sérieux (désolé, la solution simple m'a étonné )

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    t[queue_i][queue_j]="fond"
    Je croyais que c'était '1' pour indiquer le vide ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    a="mur"
    b="fond"
    c="serpent"
    S'il vous plait, des noms explicites :'(
    Vous faites comment avec trente types différents ?

    Ici le bogue principal :
    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
    if sens==4:
                tete_i=tete_i+1
                queue_i=queue_i+1
                corp_i=corp_i+1
          if sens==3:
                tete_j=tete_j+1
                queue_j=queue_j+1
                corp_j=corp_j+1
          if sens==2:
                tete_i=tete_i-1
                queue_i=queue_i-1
                corp_i=corp_i-1
          if sens==1:
                tete_j=tete_j-1
                queue_j=queue_j-1
                corp_j=corp_j-1
    Le sens n'indique que le sens du serpent. En réalité, le serpent peut avoir faire des boucles et le sens de la queue, n'est pas le même que le sens de la tête (en réalité, dès que l'on tourne). C'est pour ça, qu'un moment, votre corp_i/corp_j ne contiendra plus les bonnes cases.

    La solution pour le serpent, ce n'est pas de garder tete/queue/corp (même si j'aime bien l'idée), mais de faire un tableau, des cases occupées par le serpent. Vous ajoutez en tête la nouvelle case du serpent, et vous virez la dernière case. Et bam, problème résolu.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  9. #9
    Nouveau Candidat au Club
    Homme Profil pro
    Analyse système
    Inscrit en
    Avril 2015
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Avril 2015
    Messages : 15
    Points : 1
    Points
    1
    Par défaut
    Je sais comment faire le tableau mais je ne vois pas comment faire pour obtenir un tableau qui me donneras les cases occupées cela veut dire que le tableau changera à chaque déplacement du serpent.

  10. #10
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 860
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 860
    Points : 219 062
    Points
    219 062
    Billets dans le blog
    120
    Par défaut
    Oui, la tableau change à chaque déplacement.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  11. #11
    Nouveau Candidat au Club
    Homme Profil pro
    Analyse système
    Inscrit en
    Avril 2015
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Avril 2015
    Messages : 15
    Points : 1
    Points
    1
    Par défaut
    Oui mais comment je dois faire sa ?

  12. #12
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    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 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Citation Envoyé par SKKYY789 Voir le message
    Oui mais comment je dois faire sa ?
    Avec une liste de couples (i, j) représentant la suite de "cases" occupées par le serpent.
    On ajoute un (i, j) en tête de liste et on supprime le dernier.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  13. #13
    Nouveau Candidat au Club
    Homme Profil pro
    Analyse système
    Inscrit en
    Avril 2015
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Avril 2015
    Messages : 15
    Points : 1
    Points
    1
    Par défaut
    Je comprends ce qu'il faut faire mais je n'arrive pas le faire.

  14. #14
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 860
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 860
    Points : 219 062
    Points
    219 062
    Billets dans le blog
    120
    Par défaut
    Vous pouvez être plus précis ?
    Si vous ne savez pas utiliser les listes/n-uplets (tuples), je conseille la lecture d'un tutoriels : http://python.developpez.com/cours/
    Sinon il va falloir être bien plus précis.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  15. #15
    Nouveau Candidat au Club
    Homme Profil pro
    Analyse système
    Inscrit en
    Avril 2015
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Avril 2015
    Messages : 15
    Points : 1
    Points
    1
    Par défaut
    Je vais devoir faire des tableaux sa je sais faire.
    Mais je ne sais pas comment le faire varier en fonction des positions du serpent et je ne vois pas comment ajouté un (i,j) en tête de liste et supprimer le dernier.

  16. #16
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 860
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 860
    Points : 219 062
    Points
    219 062
    Billets dans le blog
    120
    Par défaut
    En pseudo code, car il suffit principalement de lire la liste des fonctions disponibles sur les listes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    serpent = []
    # Remplissage du tableau par les trois cases initiales du serpent. Remplissage de la tête vers la queue
    # La case 0 contient TOUJOURS la tête. La dernière case, toujours la queue.
     
    if movement == LEFT:
        serpent.append(serpent[0].x-1,serpent[0].y) # On se base sur la position de la tête pour savoir quelle est la prochaine case
        serpent.pop() # On retire la dernière case (qui est le dernier bout de la queue)
    Arf, j'ai donné la solution ...
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  17. #17
    Nouveau Candidat au Club
    Homme Profil pro
    Analyse système
    Inscrit en
    Avril 2015
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Avril 2015
    Messages : 15
    Points : 1
    Points
    1
    Par défaut
    J'ai essayer ce que vous m'avez donné et je l'ai changer en fonction de mon code sa donne sa:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if sens==4:
                serpent.append(serpent[0].i-1,serpent[0].j)
                serpent.pop()
    Mais lorsque je lance, j'observe des erreurs a des endroits au-quelle je ne m'y attendez pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Traceback (most recent call last):
      File "C:\Users\....\Pictures\......\ISN\PROJET\secours.py", line 107, in <module>
        affiche(t)
      File "C:\Users\.....\Pictures\.......\ISN\PROJET\secours.py", line 41, in affiche
        fenetre.blit(serpent, (40*i+40,40*j+40))
    TypeError: argument 1 must be pygame.Surface, not list

  18. #18
    Nouveau Candidat au Club
    Homme Profil pro
    Analyse système
    Inscrit en
    Avril 2015
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Avril 2015
    Messages : 15
    Points : 1
    Points
    1
    Par défaut
    J'ai réussi a corrigé les erreurs mais lorsque je remplace x et y par i et j pour mon programme, il me dit que i et j ne sont pas définis alors qu'il le sont.

    L'erreur:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    serpent.append(serpent[0].i-1,serpent[0].j)
    AttributeError: 'int' object has no attribute 'i'

  19. #19
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 860
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 860
    Points : 219 062
    Points
    219 062
    Billets dans le blog
    120
    Par défaut
    J'ai écrit un pseudo code. Ça veut dire de une : il faut l'adapter, de deux, il faut le comprendre plus que de l'utiliser (copier coller).
    Moi, chez moi (dans mon code) serpent est un tableau, qui contient une structure (classe) ayant deux attributs.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  20. #20
    Nouveau Candidat au Club
    Homme Profil pro
    Analyse système
    Inscrit en
    Avril 2015
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Avril 2015
    Messages : 15
    Points : 1
    Points
    1
    Par défaut
    J'ai compris que je devais l'adapter à mon code et que je devais le comprendre (je connais maintenant la fonction append).
    Mais mon problème reste le tableau du serpent, chez vous les deux attributs sont la tête et la queue ?

Discussions similaires

  1. De la rapidité du code
    Par jfloviou dans le forum Contribuez
    Réponses: 233
    Dernier message: 29/05/2009, 02h17
  2. code pour interbase 6.0 et 6.5 de generateur
    Par tripper.dim dans le forum InterBase
    Réponses: 4
    Dernier message: 01/07/2002, 11h29
  3. [MFC](encapsulation ADO) ou placer le code
    Par philippe V dans le forum MFC
    Réponses: 2
    Dernier message: 13/06/2002, 14h58
  4. Explorateur de code C
    Par Zero dans le forum C
    Réponses: 14
    Dernier message: 06/06/2002, 09h41
  5. OmniORB : code sous Windows et Linux
    Par debug dans le forum CORBA
    Réponses: 2
    Dernier message: 30/04/2002, 17h45

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