Jeu de scrabble

Résolu
Bonjour, je rencontre beaucoup de difficultés dans une question en particulière de mon projet. Vous pouvez m'aider s'il vous plaît à la résoudre

Écrire une fonction bonus() qui initialise et renvoie une liste de listes de caracteres, contenant les bonus des
cases du plateau.
A faire avoir fait(ci dessous), je bloque j'arrive pas à manipuler tous ses colonnes et lignes. Même placer les éléments correctement MT et LD sur la ligne d'indice 0 j'y arrive
Votre aide me sera très utile

cases_MT = [[0,0],[0,7],[0,14],[7,0],[7,14],[14,0],[14,7],[14,14]]
cases_MD = [[1,1],[1,13],[2,2],[2,12],[3,3],[3,11],[4,4],[4,10],[7,7],[10,4],[10,10],[11,3],[11,11],[12,2],[12,12],[13,1],[13,13]]
cases_LT = [[1,5],[1,9],[5,1],[5,5],[5,9],[5,13],[9,1],[9,5],[9,9],[9,13],[13,5],[13,9]]
cases_LD = [[0,3],[0,11],[2,6],[2,8],[3,0],[3,7],[3,14],[6,2],[6,6],[6,8],[6,12],[7,3],[7,11],[8,2],[8,6],[8,8],[8,12],[11,0],[11,7],[11,14],[12,6],[12,8],[14,3],[14,11]]

45 réponses

Résumé de la discussion

Le problème porte sur l'écriture d'une fonction bonus() qui initialise et renvoie une liste de listes représentant un plateau 15x15 avec des bonus placés sur des positions données par des listes de coordonnées. Pour y parvenir, l'approche courante consiste à démarrer avec un tableau vide et à remplir uniquement les cases concernées avec les chaînes 'MT', 'MD', 'LT' ou 'LD'. Des boucles imbriquées ou des listes en compréhension ont été proposées pour construire le plateau puis assigner les éléments selon les coordonnées, notamment MT sur la ligne 0 et LD sur 0,3 et 0,11. En cas de progression, l'idée est aussi de prévoir une fonction init jetons() qui crée les cases vides et facilite ensuite le remplissage sélectif des bonus.

Bobot (l’IA à votre service)
  1. Ok merci de votre aide
    0
    1. Moi, je marquerais celui-ci comme "résolu" et j'en ouvrirais un autre ...
      0
      1. Vaiment je sais pas ce qui m'arrive,j'ai ft des erreurs évidentes.Maintenant,c'est bon,j'ai corrigé toutes mes erreurs et ça me renvoie bien ce que j'attendais

        Je voulais aussi savoir,dois je créer un autre topic pour la suite de mon exo ou je peux continuer ici a poser les quelques questions qui me restent pour finir
        0
        1. Une fois de plus, il va falloir ouvrir grand les yeux et bien examiner ce que tu as écrit

          dans les 4 boucles for ...
          0
          1. Désolé,mon erreur était bete,j'ai oublié de faire appel à ma fonction pour la tester
            Ca me renoir ceci
            [['LT', '', '', 'LD', '', '', '', 'LT', '', '', '', 'LD', '', '', 'LT'], ['', '', '', '', '', '', '', '', '', '', '', '', '', '', ''], ['', '', '', '', '', '', 'LD', '', 'LD', '', '', '', '', '', ''], ['LD', '', '', '', '', '', '', 'LD', '', '', '', '', '', '', 'LD'], ['', '', '', '', '', '', '', '', '', '', '', '', '', '', ''], ['', '', '', '', '', '', '', '', '', '', '', '', '', '', ''], ['', '', 'LD', '', '', '', 'LD', '', 'LD', '', '', '', 'LD', '', ''], ['LT', '', '', 'LD', '', '', '', '', '', '', '', 'LD', '', '', 'LT'], ['', '', 'LD', '', '', '', 'LD', '', 'LD', '', '', '', 'LD', '', ''], ['', '', '', '', '', '', '', '', '', '', '', '', '', '', ''], ['', '', '', '', '', '', '', '', '', '', '', '', '', '', ''], ['LD', '', '', '', '', '', '', 'LD', '', '', '', '', '', '', 'LD'], ['', '', '', '', '', '', 'LD', '', 'LD', '', '', '', '', '', ''], ['', '', '', '', '', '', '', '', '', '', '', '', '', '', ''], ['LT', '', '', 'LD', '', '', '', 'LT', '', '', '', 'LD', '', '', 'LT']]

            Ça ne m'affiche même pas MT dt MD
            0
            1. C'est ma 1ere année de licence. J'ai commencé python en septembre.
              Si on m'a donné ce projet donc les profs ont supposés qu'on peut le faire
              Moi je suis pas un expert en Python mais au moins je me débrouille
              0
              1. Aaaaaaaaaaaaah ok !

                C'est du lourd, là ...

                Tu débutes complètement en Python, ou quoi ?
                0
                1. Bein c'est celui que j'ai posté à 17h33
                  0
                  1. Le problème c'est que lorsque je teste ça me renvoie rien
                    0
                    1. y a pu qu'à tester pour voir ...
                      0
                      1. cases_MT = [[0,0],[0,7],[0,14],[7,0],[7,14],[14,0],[14,7],[14,14]]
                        cases_LD = [[0,3],[0,11],[2,6],[2,8],[3,0],[3,7],[3,14],[6,2],[6,6],[6,8],[6,12],[7,3],[7,11],[8,2],[8,6],[8,8],[8,12],[11,0],[11,7],[11,14],[12,6],[12,8],[14,3],[14,11]]
                        cases_MD = [[1,1],[1,13],[2,2],[2,12],[3,3],[3,11],[4,4],[4,10],[7,7],[10,4],[10,10],[11,3],[11,11],[12,2],[12,12],[13,1],[13,13]]
                        cases_LT = [[1,5],[1,9],[5,1],[5,5],[5,9],[5,13],[9,1],[9,5],[9,9],[9,13],[13,5],[13,9]]
                        def bonus():
                            Tableau=[[""for j in range(15)]for i in range(15)]
                            for ligne,colonne in cases_MT:
                                Tableau[ligne][colonne]="MT"
                            for ligne,colonne in cases_LD:
                                Tableau[ligne][colonne]="LD"
                            for ligne,colonne in cases_MT:
                                Tableau[ligne][colonne]="MD"
                            for ligne,colonne in (cases_MT):
                                Tableau[ligne][colonne]="LT"
                            print(Tableau)
                        0
                        1. J'ai vu parceque je n'est pas mis., colonne à mes 3 autres for
                          C'est ça ?
                          0
                          1. Ca saute aux yeux, pourtant

                            Si tu vois pas, là, ca devient grave ...

                            problème de logique au départ dans la rédaction des 4 boucles for

                            puis problème d'observation même quand on te met le doigt dessus
                            0
                            1. Désolé, j'ai bon me creuser la tête, je vois rien moi
                              0
                              1. la réponse est sous tes yeux !

                                    for ligne,colonne in cases_MT:
                                        Tableau[ligne][colonne]="MT"
                                
                                    for ligne in cases_LD:
                                        Tableau[ligne][colonne]="LD"


                                tu vois pas un truc, là ?

                                et dans
                                for lignes in cases_MT:
                                ???
                                0
                                1. Bonjour,désole je pensais que mon code allait marcher mais bon il bug dt pourtant cette fois ci j'étais sur d'avoir trouvé
                                  cases_MT = [[0,0],[0,7],[0,14],[7,0],[7,14],[14,0],[14,7],[14,14]]
                                  cases_LD = [[0,3],[0,11],[2,6],[2,8],[3,0],[3,7],[3,14],[6,2],[6,6],[6,8],[6,12],[7,3],[7,11],[8,2],[8,6],[8,8],[8,12],[11,0],[11,7],[11,14],[12,6],[12,8],[14,3],[14,11]]
                                  cases_MD = [[1,1],[1,13],[2,2],[2,12],[3,3],[3,11],[4,4],[4,10],[7,7],[10,4],[10,10],[11,3],[11,11],[12,2],[12,12],[13,1],[13,13]]
                                  cases_LT = [[1,5],[1,9],[5,1],[5,5],[5,9],[5,13],[9,1],[9,5],[9,9],[9,13],[13,5],[13,9]]
                                  def bonus():
                                      Tableau=[[""for j in range(15)]for i in range(15)]
                                      for ligne,colonne in cases_MT:
                                          Tableau[ligne][colonne]="MT"
                                      for ligne in cases_LD:
                                          Tableau[ligne][colonne]="LD"
                                      for lignes in cases_MT:
                                          Tableau[ligne][colonne]="MD"
                                      for lignes in (cases_MT):
                                          Tableau[ligne][colonne]="LT"
                                      print(Tableau)
                                  
                                  0
                                  1. Merci de m'avoir aidé pour la question 1,esceque vous pouvez m'aider à résoudre d'autres questions svp
                                    0
                                    1. C'est bon j'ai réussis à faire autrement en utilisant la compréhension de liste la 2ème question
                                      Et du coup j'ai utilisé votre méthode et j'ai trouvé merci infiniment
                                      0
                                      • 1
                                      • 2
                                      • 3