Jeu de scrabble

Résolu
Theo_0055 Messages postés 273 Date d'inscription   Statut Membre Dernière intervention   -  
Theo_0055 Messages postés 273 Date d'inscription   Statut Membre Dernière intervention   -
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

  • 1
  • 2
  • 3
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.

Généré automatiquement par IA
sur la base des meilleures réponses
  1. Phil_1857 Messages postés 1883 Date d'inscription   Statut Membre Dernière intervention   169
     
    Bonjour Theo,

    Même placer les éléments correctement MT et LD sur la ligne d'indice 0 j'y arrive

    Ben si tu y arrives, pas de problème ...

    C'est quoi ta question précisément ?
    0
  2. Theo_0055 Messages postés 273 Date d'inscription   Statut Membre Dernière intervention   1
     
    Ma question c'est comment faire pour bien placer chacun à sa place les bonus parceque c'est pas écrire une liste de liste de leur position qui va m'aider
    Ou dois je commencer pouf réussir à le faire
    0
  3. Phil_1857 Messages postés 1883 Date d'inscription   Statut Membre Dernière intervention   169
     
    comment faire pour bien placer chacun à sa place

    Que veux tu dire ?
    0
  4. Theo_0055 Messages postés 273 Date d'inscription   Statut Membre Dernière intervention   1
     
    Je parle parle la des bonus
    MT
    MD
    LD
    LT
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Theo_0055 Messages postés 273 Date d'inscription   Statut Membre Dernière intervention   1
     
    Par exemple comment faire pour bien placer sur la ligne d'indice 0,les 3 MT(colonne 0,colonne7 et colonne 14)
    LD(colonne 3 et colonne 11)
    Et les chaînes de caractères vides dans les cases contenant aucun bonus
    0
  7. Phil_1857 Messages postés 1883 Date d'inscription   Statut Membre Dernière intervention   169
     
    Ah ok , tu parles de faire ça graphiquement : dessiner les cases rouges MT sur un damier
    de 15 x 15 cases ?
    0
  8. Theo_0055 Messages postés 273 Date d'inscription   Statut Membre Dernière intervention   1
     
    Oui c'est ça
    0
  9. Phil_1857 Messages postés 1883 Date d'inscription   Statut Membre Dernière intervention   169
     
    As-tu commencé à coder ? ne serait-ce que pour afficher le damier, par exemple ...

    Tu peux afficher ton code ici, en respectant les balises de code, le mode d'emploi ici:

    https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
    Visuellement, ça doit ressembler à ceci (avec la coloration syntaxique) :

    def test():
        print('test')
    
    test()
    
    0
  10. Theo_0055 Messages postés 273 Date d'inscription   Statut Membre Dernière intervention   1
     
    Moi comme je vous dit j'arrive même pas à faire la ligne 0
    J'arrive à bien placer par exemple MT et les chaînes vides mais pas LD

    L=[] 
    for i in range(0,14,7):
    L.append("MT")
    for j in range(1,6):
    L.append("")
    0
  11. Theo_0055 Messages postés 273 Date d'inscription   Statut Membre Dernière intervention   1
     
    Bon ça c'est juste un essai. Si j'arrive pas déjà à comprendre comment bien placer chaque élément sur la 1er ligne, aucune chance que j'y arrive pour 15 lignes et 15 colonnes
    0
  12. Phil_1857 Messages postés 1883 Date d'inscription   Statut Membre Dernière intervention   169
     
    L=[] 
    for i in range(0,14,7):
           L.append("MT")


    As-tu essayé de faire un print(L) pour voir ce qu'il contient exactement ?
    0
  13. Theo_0055 Messages postés 273 Date d'inscription   Statut Membre Dernière intervention   1
     
    Oui je l'ai fait. C'est pourquoi j'ai dit j'arrive à bien placer MT et les chaînes vides mais pas LD
    0
  14. Phil_1857 Messages postés 1883 Date d'inscription   Statut Membre Dernière intervention   169
     
    moi, quand je fait
     print(L)


    je vois ça : ['MT', 'MT'] une liste de 2 chaines de caractères MT

    c'est quoi l'intérêt ?

    En plus ta boucle sur (0,14,7) ne sert à rien, tu ferais

    L=[] 
    for i in range(0,2):
           L.append("MT")


    ca donnerait exactement le même résultat ...

    et à la fin de tes 2 boucles, ca donne ça:

    ['MT', 'MT', '', '', '', '', '']
    0
  15. Theo_0055 Messages postés 273 Date d'inscription   Statut Membre Dernière intervention   1
     
    Le code que j'ai copié collé c'est pas le bon, j'ai supprimé le bon et je me souviens plus comment j'avais trouvé vi que je testait comme ça sans arrêt jusqu'à tomber sur le bon

    Quescequ'il faut faire pour trouver la solution, un indice pour que je puisse avancer
    0
  16. Theo_0055 Messages postés 273 Date d'inscription   Statut Membre Dernière intervention   1
     
    Moi mon problème principale c'est comment on place chaque jeton à sa place
    Par e emple à la ligne 0,il faut que j'ai
    [MT, "", "", LD, "", "", "", MT, "", "", "", LD, "", "", MT{
    ..
    Je dois faire la même chose pour chaque ligne.
    Ensuite je dois tout mettre dans une grande liste(liste de liste)

    Mais d'abord, il faut que j'arrive d'abord à comprendre comment faire pour la ligne 0,avant d'espérer trouver pour les autres lignes
    0
    1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588
       
      est-ce ton premier exercice avec des listes en Python?
      as-tu déjà fait des exercices avec des index?

      l'exercice que tu fais suppose que tu maitrises cela.
      0
  17. Theo_0055 Messages postés 273 Date d'inscription   Statut Membre Dernière intervention   1
     
    Oui bien sur, c'est une question concernant un projet que je dois rendre
    Oui les indices je les maîtrises
    Par exemple MT pour la ligne 0 est en indice 0, 7 et 14....
    0
  18. Phil_1857 Messages postés 1883 Date d'inscription   Statut Membre Dernière intervention   169
     
    ah ok, tu nous balances un code pas bon, comme ça, au hasard

    des fois qu'on aurait une boule de cristal !

    Il faut croire que tu ne maitrises pas

    Tu devrait chercher sur internet comment créer un tableau à 2 dimensions, ici 15 lignes par 15

    colonnes avec des "listes en compréhension" par exemple

    Ensuite tu pourrais le remplir en adressant ligne et colonne :

    tableau[0][7] = 'MT', etc ...
    0
  19. Theo_0055 Messages postés 273 Date d'inscription   Statut Membre Dernière intervention   1
     
    Je sais comment faire, le principe mais l'appliquer c'est dure
    En tout cas pour les liste compréhension je sais qu'on doit faire
    Exemple :MT dans toutes les cases
    [["MT"for j in range(15)]for i in range(15)]
    0
  20. Phil_1857 Messages postés 1883 Date d'inscription   Statut Membre Dernière intervention   169
     
    hé ben voila...

    on y arrive tout doucement ...

    sauf qu'au départ il faut faire un tableau comme tu le fais mais entièrement vide et ensuite, il

    n'y a plus qu'à remplir uniquement ce qui doit l'être avec 'MT', 'MD', etc ...

    comme je t'ai montré dans mon message précédent (tableau[ligne][colonne] = ...)
    0
  21. Theo_0055 Messages postés 273 Date d'inscription   Statut Membre Dernière intervention   1
     
    Tableau=[]
    for lignes in tableau:
        for colonnes in tableau:
            Tableau[lignes][colonnes]==
            


    Je peux remplacer certes ligne et collonne par leur valeurva la main et e rire ceci égale ceci mais ça va être un peu long et je pense pas que c'est la bonne méthode

    Du coip les listes MT,LT,MD et LD que je vous ai donné plus haut,peux t il m'aider ici dans ce cas?Si oui comment puis je m'en servir
    0
  • 1
  • 2
  • 3