Partage
  • Partager sur Facebook
  • Partager sur Twitter

Récupérer nom d'un joueur après nous

    19 septembre 2019 à 10:28:05

    Bonjour,

    Voilà désolé de vous déranger, dans le cadre de notre projet, on doit coder un jeu de société. Je me retrouve face à un problème. J'ai crée une class Player et je suis en train de coder une class Card qui est en gros l'action des cartes qu'on utilise. Mon soucis est que ma carte dit "Vole 3 sous à un joueur suivant", ce qui signifie qu'on choisit le joueur suivant. J'ai commencé à coder :

    elif nom == "Pesos Thief":
                #var
                j, i = 0, 0 #int
                #begin
                while i != Player.nom
                    Game.orderlist[j] = i
                    j+=1
                if j < 3:
                    for j in (len(Game.orderList)-j):
                        choice=str(input("The Player " + Game.orderlist[j] + "is playing after you, do you want to choose him ? Y/N"))
                        if choice == Y:
                              #a voir comment désigner un joueur autre que soit

    En gros le tableau orderList qui vient de la class Game donne l'ordre des joueurs. Je cherche du coup à dire "je vole 3 sous au player dont le nom est dans Game.orderlist[j].

    Le while i!=Player.nom je veux faire en sorte qu'il vérifie dans le tableau order ou est le joueur qui joue actuellement pour compter les joueurs suivants, voilà.

    Merci à vous :)

    • Partager sur Facebook
    • Partager sur Twitter
      19 septembre 2019 à 10:39:10

      Bonjour,

      Donc le problème est ?

      Qu'affiche Game.orderlist[j] ?

      Ta variable j ligne 8 et 9 semble louche, donne un nom de variable différent pour t'y retrouver, je crois qu'il n'y a pas de lien entre variable j ligne 8 et variable j (la première) ligne 9.

      • Partager sur Facebook
      • Partager sur Twitter

      Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
      La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

        19 septembre 2019 à 10:51:18

        merci de la réponse rapide ! :)

        Game.orderlist[j] va afficher le pseudo du joueur à la place j (en fait dans notre jeu, l'ordre des tours s'actualisent à chaque "phase", pour ça on crée un tableau.

        Exemple [Pierre, Paul, Jack, Erick]
        Le joueur qui joue est Paul. Je veux que ça vérifie la position de Paul et J est donc un pointeur posé sur Jack, car ma carte ne vise que les jouers après moi. Donc en fait mon message va afficher

        "Voulez vous voler Jack Y/N"
        Si c'est oui (ce pourquoi le sujet à été crée) je cherche la ligne de code qui dit en littéral "Les sous de Jack sont divisé par deux"

        si c'est non :

        "les sous de Erick sont divisé par deux"

        Ce que je ne sais pas faire c'est désigné un joueur autre que celui qui joue actuellement. (en fait je ne suis même pas sur que je sais désigné le joueur actuel en y repensant).

        Je sais pas si je suis clair ^^'

        • Partager sur Facebook
        • Partager sur Twitter
          19 septembre 2019 à 12:16:02

          Non c'est pas clair, mais il faut faire de l'affichage avec print et voir si les variables j correspondent bien à ce que tu veux
          • Partager sur Facebook
          • Partager sur Twitter

          Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
          La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

            19 septembre 2019 à 13:21:31

            En fait ce que je recherche c'est comment désigné le joueur qui joue actuellement et comment dire tel joueur joue après. Mais je crois que je suis juste pas douée, en fait j'ai juste à instancier mes joueurs (si c'était à la manière java j'aurai dit p1 = new Player()) et j'aurai désigné par p1 p2 p3, je pense que je dois juste faire ça. Par exemple pour retirer les sous du joueur suivant imaginons 3 ça aurait été p3.removedollar() non ?
            • Partager sur Facebook
            • Partager sur Twitter
              19 septembre 2019 à 13:25:31

              Ca me semble être une bonne idée, tu ajoute tes joueurs dans une liste et après tu peux facilement accéder au joueur que tu veux dans ta liste, si tu veux travailler sur le joueur n+1 tu peux faire un truc du style :

              list_players=[]
              for players in range(nbPlayers):
                  list_players.append(Player())
              #récupérer les dollars du joueur n 
              money = list_players[n].removedollar()


              C'est une idée

              -
              Edité par Jojuss 19 septembre 2019 à 13:30:58

              • Partager sur Facebook
              • Partager sur Twitter

              Récupérer nom d'un joueur après nous

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
              • Editeur
              • Markdown