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 :

pygame: afficher un plateau grace a une liste


Sujet :

Python

Vue hybride

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

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2016
    Messages : 4
    Par défaut pygame: afficher un plateau grace a une liste
    Bonjour je suis en etude d'informatique et j'ai un projet a rendre pour bientot c'est donc un jeu comme vous l'aurez compris et je bloque juste a cette etape (pourtant cruciale !!) d'afficher le plateau de jeu, je pense que je suis obliger d'utiliser ma liste pour afficher le plateau (la liste sera constituer de 0 de 1 ou de 2, qui respectivement me permettra d'indiquer si la case est non-jouer, jouer par le joueur 1 ou par le joueur 2) cependant j'ai beau reflechir des heures et des heure avec plusieurs de mes amis on arrive pas a trouver comment faire ...
    donc est-ce que quelqu'un qui sais coder avec pygame pourrais m'indiquer par exemple a partir de cette liste: maListe=[[0,0,0,0,0,0],[0,0,0,0,0,0],[0,0,0,0,0,0],[0,0,0,0,0,0],[0,0,0,0,0,0],[0,0,0,0,0,0]] comment afficher un plateau de jeu ? (comme par exemple celui-là: http://www.developpez.net/forums/att...-20.48.05.png/)

    j'ai penser a n'afficher que les petit rond (et donc quand un joueur joue sera remplacer par une couleur differente) et de creer manuellement le fond rouge et les trait noir

    merci beaucoup d'essayer de m'aider a passer cette etape

  2. #2
    Expert confirmé Avatar de BufferBob
    Profil pro
    responsable R&D vidage de truites
    Inscrit en
    Novembre 2010
    Messages
    3 041
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : responsable R&D vidage de truites

    Informations forums :
    Inscription : Novembre 2010
    Messages : 3 041
    Par défaut
    salut,

    vous prenez peut-être le problème dans un mauvais sens, il suffit de voir l'image (et les règles du pentago éventuellement), ce n'est pas un tableau de 6x6 que vous avez, c'est 4 cadrans de 3x3
    par ailleurs vous n'êtes pas obligés de définir une liste de 6 listes qui contiennent chacune 6 éléments pour symboliser la totalité du tableau, une seule liste de 36 éléments aurait aussi bien pu faire l'affaire, ça nécessite ensuite de jongler un petit peu mais rien de méchant (index = y * largeur + x)

    le principe avec pygame est de créer des surfaces, on a une surface principale qui symbolise l'écran sur laquelle on applique (blit) d'autres surfaces, et c'est dans ces surfaces qu'on dessine
    vous pourriez essayer de créer une surface contenant 1 cadran vide (vous le blittez où vous voulez ensuite sur l'écran, vous pouvez même en blitter 3...), ça permet en outre de n'avoir qu'une seule fonction ensuite pour placer un pion, puisqu'on les place dans une surface dont les coordonnées sont relatives, il suffit juste de sélectionner la bonne surface correspondant au cadran voulu

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2016
    Messages : 4
    Par défaut
    Je pense savoir ce que tu veux dire mais le probleme reste que je n'arrive pas a afficher quoi que ce soit a partir de ma liste (que ca soit pour un cadran ou non) car si j'utilise pas ma liste pour afficher et bien pour la suite ca va etre chaud quoi ...


    edit: je viens de reussir a faire ce que je voulais cependant j'ai un autre petit probleme cela ne s'affiche que quand je quitte le jeu :/ je vous donne le code que j'ai effectuer

    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
    import pygame
    from pygame import*
    pygame.init()
    inProgress=True
    maliste=[[0,0,0,0,0,0],
             [0,0,0,0,0,0],
             [0,0,0,0,0,0],
             [0,0,0,0,0,0],
             [0,0,0,0,0,0],
             [0,0,0,0,0,0]
             ]
     
     
     
    n=0
    RED= (255,0,0)
    blue=(0,255,0)
    maSurface=pygame.display.set_mode((400,400))
    monCarre=pygame.draw.rect(maSurface,RED,(100,100,300,300))
    monRond=image.load("pionMilieuSansJouer.png")
    x=10
    y=10
    stop = 0
     
    while inProgress:
        for event in pygame.event.get():
            if event.type ==QUIT:
                inProgress=False
                                           #j'ai pensé a un double for i in range(6) pour lire les ligne et colone et donc afficher en fonction de la valeur ca a fonctionner mais ca affiche que quand on quitte :/
                for i in range(6):
                    for j in range(6):
                        if maliste[i][j]==0:
                            maSurface.blit(monRond,(x,y))
                        x+=30
     
                    x=10
                    y+=30
     
     
     
        pygame.display.update()
    pygame.quit()

  4. #4
    Expert confirmé Avatar de BufferBob
    Profil pro
    responsable R&D vidage de truites
    Inscrit en
    Novembre 2010
    Messages
    3 041
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : responsable R&D vidage de truites

    Informations forums :
    Inscription : Novembre 2010
    Messages : 3 041
    Par défaut
    Citation Envoyé par wantout972 Voir le message
    Je pense savoir (...) mais (...) ca va etre chaud quoi
    c'est très clair

    je viens de reussir a faire ce que je voulais cependant j'ai un autre petit probleme cela ne s'affiche que quand je quitte le jeu :/
    python fonctionne avec des indentations pour délimiter les blocs d'instructions, on a un if quit et tout le reste se déroule en dessous dans le bloc du if

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