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 :

Simple Jeu en python


Sujet :

Programmation multimédia/Jeux Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Avatar de moithibault
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2009
    Messages : 124
    Par défaut Simple Jeu en python
    Bonsoir ,

    j'ai un défis , il faut que je réalise ce jeu :
    http://www.mediafire.com/?zzy0dfinjid
    ce jeu codé par seb_parfait que je doit 'refaire' en python.
    J'aimerais bien que quelqu'un d'expérimenté puisse m'aider à la conception de l'algorythme jusqu'a la réalisation du jeu . Je débute en python et aprez avoir vu des sources similaires (puissance 4...) Je n'est pas encore le niveau requis pour ce genre d'expérience .
    Si vous pouviez m'aider pour quoi que se soit sa serait génial
    TRANSMETTEZ VOTRE SAVOIR , Thibault

  2. #2
    Membre émérite
    Homme Profil pro
    heu...
    Inscrit en
    Octobre 2007
    Messages
    648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : heu...

    Informations forums :
    Inscription : Octobre 2007
    Messages : 648
    Par défaut
    Salut, je vois bien l'organistaion comme ça :

    Une classe Tableau, qui possède .... un tableau (whoaaaa c'est [dégngue]) qui aurait pour élément des instances de classe Case, et une méthode pour remttre à l'état 0 les qui ne sont ni pénétrables, ni remplies (voir ci-après)

    Une classe Case donc, qui aurait :
    ø un attribut parent qui serait un référence vers l'objet Tableau
    ø un attribut state qui serait un integer qui représenterait l'état de la case (0:libre, -1: impénétrable, 1:vert rempli, 2: vert duplication, 3: vert mouvement, 4: rouge rempli, etc...)
    ø une méthode clicked, qui changerait l'état des case voisines (accessibles depuis l'attribut parent (qui ne serait en fait rien d'autre que l'objet Tableau crée)

    Voilà très grosso merdo le concept, qui je le répète est très généralisé, et sera plus ou moins revu au niveau des valeurs suivant la méthode de représentation (graphique) choisie.

    Si tu débute en python, lis donc d'abord le cours de Gérard Swinnen (la partie sur Tkinter), sinon si tu es assez à l'aise, tu peux envisager une solution avec Pygame (module qui exige une certaine aisance avec python, mais aussi un aisance avec les sprites etc... déconseillé pour les débutant dans ce domaine... sinon bah fonces )

    NB: si je ne te donne pas plus d'indications, c'est voulu, tu comprendras et retiendras bien mieux si tu apprends par toi même (enfin avec des bouquins quand même), qu'avec une solution toute faite

  3. #3
    Membre confirmé
    Avatar de moithibault
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2009
    Messages : 124
    Par défaut
    Merci c'est super gentil de ta part , j'ai déjà commencé à faire le graphique du jeu , pour mon niveau j'ai [quasi] tout lu le super tuto de Swinnen (3/4).

    Je reviens quand j'ai un probléme! merci

  4. #4
    Membre confirmé
    Avatar de moithibault
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2009
    Messages : 124
    Par défaut petit probléme
    Bonjour
    , j'ai un petit probléme au niveau de mon code ,

    Voilà ce que j'ai fait pour la création de mon plateau de jeux , il est semblable à ça :


    ○○○○○○○○
    ○○○○○○○○
    ○○○○○○○○
    ○○○○○○○○
    ○○○○○○○○
    ○○○○○○○○
    ○○○○○○○○
    ○○○○○○○○

    8*8

    Voici le code:

    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
    def play(plat):
            ligne=0
            pos_x=0
            pos_y=60
            decalage_x=75
            decalage_y=65
            i=0
     
     
            while(ligne<8):
                pos_x=pos_x+decalage_x
                cate= plat[i]
                plateau(pos_x,pos_y,25,cate)	.bacterie()
                ligne=ligne+1
                i=i+1
            pos_x=0
            pos_y=pos_y+decalage_y
            while(ligne<16):
                pos_x=pos_x+decalage_x
                cate= plat[i]
                plateau(pos_x,pos_y,25,cate)	.bacterie()
                ligne=ligne+1
                i=i+1
     
            pos_x=0
            pos_y=pos_y+decalage_y
            while(ligne<24):
                pos_x=pos_x+decalage_x
                cate= plat[i]
                plateau(pos_x,pos_y,25,cate)	.bacterie()
                ligne=ligne+1
                i=i+1
     
            pos_x=0
            pos_y=pos_y+decalage_y
            while(ligne<32):
                pos_x=pos_x+decalage_x
                cate= plat[i]
                plateau(pos_x,pos_y,25,cate)	.bacterie()
                ligne=ligne+1
                i=i+1
     
            pos_x=0
            pos_y=pos_y+decalage_y
            while(ligne<40):
                pos_x=pos_x+decalage_x
                cate= plat[i]
                plateau(pos_x,pos_y,25,cate)	.bacterie()
                ligne=ligne+1
                i=i+1
     
            pos_x=0
            pos_y=pos_y+decalage_y
            while(ligne<48):
                pos_x=pos_x+decalage_x
                cate= plat[i]
                plateau(pos_x,pos_y,25,cate)	.bacterie()
                ligne=ligne+1
                i=i+1
     
            pos_x=0
            pos_y=pos_y+decalage_y
            while(ligne<56):
                pos_x=pos_x+decalage_x
                cate= plat[i]
                plateau(pos_x,pos_y,25,cate)	.bacterie()
                ligne=ligne+1
                i=i+1
     
            pos_x=0
            pos_y=pos_y+decalage_y
            while(ligne<64):
                pos_x=pos_x+decalage_x
                cate= plat[i]
                plateau(pos_x,pos_y,25,cate)	.bacterie()
                ligne=ligne+1
                i=i+1
    L'argument 'plat' est une suite de 64nombres , ils serviront a différencer les différents type de trous (remplis rouge , remplis noir.....)

    plat est sous cette forme:
    '0000000000001001001000000000000000000000000000000000000000000000'


    Ensuite j'ai une class qui contient une méthode , elle sert a différencier les différents trous (elle est appelé dans le code de création du tableau ci-dessus: plateau(arguments).bacterie() ) :

    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
    #Les bactériee
    class plateau:
     
        def __init__(self, x =0, y =0, r =40,cate=0):
            self.pos_x = x
            self.pos_y = y
            self.rayon = r
            self.cate=cate
            #BACTERIE et TROU 
        def bacterie(self):
            #vide
            if(self.cate==0):
                corp.create_oval(self.pos_x-self.rayon,
                             self.pos_y-self.rayon, 
                             self.pos_x+self.rayon,
                             self.pos_y+self.rayon,
                             fill="#C9DFEF"
                             )
                #vert
            elif(self.cate==1):
                corp.create_oval(self.pos_x-self.rayon,
                             self.pos_y-self.rayon, 
                             self.pos_x+self.rayon,
                             self.pos_y+self.rayon,
                             fill="green")
                  #rouge          
            elif(self.cate==2):
                corp.create_oval(self.pos_x-self.rayon,
                             self.pos_y-self.rayon, 
                             self.pos_x+self.rayon,
                             self.pos_y+self.rayon,
                             fill="red"
                            )
                #trou noir         
            elif(self.cate==3):
                corp.create_oval(self.pos_x-self.rayon,
                             self.pos_y-self.rayon, 
                             self.pos_x+self.rayon,
                             self.pos_y+self.rayon,
                             fill="black"
                            )
     
                 #possibilité rouge         
            elif(self.cate==4):
                corp.create_oval(self.pos_x-self.rayon,
                             self.pos_y-self.rayon, 
                             self.pos_x+self.rayon,
                             self.pos_y+self.rayon,
                             fill="pink"
                            )
     
                 #possibilité verte         
            elif(self.cate==5):
                corp.create_oval(self.pos_x-self.rayon,
                             self.pos_y-self.rayon, 
                             self.pos_x+self.rayon,
                             self.pos_y+self.rayon,
                             fill="#C2F955"
                            )
            else:
                corp.create_oval(self.pos_x-self.rayon,
                             self.pos_y-self.rayon, 
                             self.pos_x+self.rayon,
                             self.pos_y+self.rayon, 
                             fill="black")




    Tout ça pour vous dire que si je change ma chaine 'plat' par :
    '0000000000000000000000000000000000000000000000000000000000011100'



    Rien ne se passe , les trou sont tous noirs
    D'ou viens le probléme et il n'y a pas un moyen d'écourter mon code en ce qui concerne la création du plateau de jeu?

    MERCIIII

  5. #5
    Membre confirmé
    Avatar de moithibault
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2009
    Messages : 124
    Par défaut
    Ah je pense que c'est une histoire de type de variable , je demande des INT alors que se sont des STRING

  6. #6
    Membre confirmé
    Avatar de moithibault
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2009
    Messages : 124
    Par défaut
    C'est bien ça , j'ai changé pour garder le type string , par contre ma fonction de création de plateau est simplifiable?

Discussions similaires

  1. Problème d'affichage de chiffres jeu squaro Python
    Par Sebaudi dans le forum Programmation multimédia/Jeux
    Réponses: 0
    Dernier message: 16/03/2014, 16h44
  2. REGEX-Repérer des chaînes simples à la sauce Python
    Par rambc dans le forum Général Python
    Réponses: 5
    Dernier message: 12/01/2012, 10h16
  3. Aide jeu sur Python
    Par david803 dans le forum Débuter
    Réponses: 0
    Dernier message: 01/12/2011, 19h49
  4. Problème jeu hunter python
    Par florichoute dans le forum Tkinter
    Réponses: 1
    Dernier message: 20/05/2009, 14h00
  5. Jeu en Python
    Par Milo69 dans le forum Programmation multimédia/Jeux
    Réponses: 2
    Dernier message: 31/10/2006, 12h16

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