Python programmation jeu solitaire Napoléon [DOUBLON]

Bonjour,

comment puis-je en Python, créer un tableau à double entrée, de 4 lignes , 14 colonnes et y injecter mon jeu de cartes a partir de la 2éme colonne la 1ére restant vide, j'ai appris le langage python en 1 jour, donc je suis trés limitée, et l'âge faisant j'ai perdu quelques neurones, en fait j'essaie de transcrire le jeu solitaire Napoléon en Python, j'ai réusi en un premier à mélanger les cartes.
merci

3 réponses

  1. Pourquoi pas placer tes 52 cartes dans un tableau temporaire et les replacer dans un autre aléatoirement ?
    0
    1. Bonsoir, en fait je galére, je n'arrive même pas à mélanger mes cartes jeu de 52, alors les afficher dans un tableau c'est pire, je ne connais que le basic, je galére en python
      0
      1. Pour faire un tableau bidimensionnel tu peux faire un tableau de tableau ou simuler la bidimensionnalité, voici un tableau 2D que j'ai fait qui me sert pour tous mes jeux, j'espère que ça t'aidera :)
        class Array():
        def __init__(self, size, default=0):
        self.sizeX, self.sizeY = size
        self.arrayInc = 0
        self.array = []
        self.defaultValue = default
        while self.arrayInc != self.sizeX*self.sizeY:
        self.array.append(self.defaultValue)
        self.arrayInc += 1
        def __repr__(self):
        self.reprInc = 0
        self.finalStr = ""
        for item in self.array:
        if self.reprInc == self.sizeX:
        self.finalStr += "\n"
        self.reprInc = 0
        self.finalStr += str(item) + ","
        self.reprInc += 1
        return self.finalStr
        def reprArray(self, array):
        self.reprInc = 0
        self.finalStr = ""
        self.workArray = array
        for item in self.workArray:
        if self.reprInc == self.getSizeX:
        self.finalStr += "\n"
        self.reprInc = 0
        self.finalStr += str(item) + ","
        self.reprInc += 1
        return self.finalStr
        def get(self, posX, posY):
        try:
        return self.array[(posX+(posY-1)*self.sizeX)-1]
        except IndexError:
        return Blocs.Void()
        def set(self, posX, posY, value):
        try:
        self.array[(posX+(posY-1)*self.sizeX)-1] = value
        except IndexError:
        pass
        def getSquare(self, posX, posY, sizeX, sizeY):
        self.getPosX = posX
        self.getPosY = posY
        self.getSizeX = sizeX
        self.getSizeY = sizeY
        self.currentContent = []
        for i in range(1,self.getSizeY+1):
        for j in range(1,self.getSizeX+1):
        self.currentContent.append(self.get(self.getPosX-1+j,self.getPosY-1+i))
        return self.currentContent


        Pour l'utiliser tu dois d'abord inclure ce code au début de ton programme puis créer un objet Array comme ceci :
        monTableau = Array()

        Puis pour affecter une valeur :
        monTableau.set(x,y,valeur)

        Et en récupérer une :
        valeurRecuperee = monTableau.get(x,y)

        Pour récupérer un carré du tableau :
        partieDeMonTableau = monTableau.getSquare(x,y,tailleX,tailleY)

        Pour afficher le tableau en entier :
        print(monTableau)

        Pour afficher une section de tableau :
        print(monTableau.reprArray(partieDeMonTableau)


        Voilà, j'espère que ça te sera utile :)
        Si tu veux tu peux enregistrer le code au dessus en Array.py dans le dossier de ton programme et en haut de ton programme noter import Array
        0
        1. Merci, je vais essayer
          0