Jeu de scrabble [Résolu]

Signaler
Messages postés
50
Date d'inscription
mardi 21 juillet 2020
Statut
Membre
Dernière intervention
3 janvier 2021
-
Messages postés
50
Date d'inscription
mardi 21 juillet 2020
Statut
Membre
Dernière intervention
3 janvier 2021
-
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

Messages postés
840
Date d'inscription
lundi 23 mars 2020
Statut
Membre
Dernière intervention
8 janvier 2021
94
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 ?
Messages postés
50
Date d'inscription
mardi 21 juillet 2020
Statut
Membre
Dernière intervention
3 janvier 2021

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
Messages postés
840
Date d'inscription
lundi 23 mars 2020
Statut
Membre
Dernière intervention
8 janvier 2021
94
comment faire pour bien placer chacun à sa place

Que veux tu dire ?
Messages postés
50
Date d'inscription
mardi 21 juillet 2020
Statut
Membre
Dernière intervention
3 janvier 2021

Je parle parle la des bonus
MT
MD
LD
LT
Messages postés
50
Date d'inscription
mardi 21 juillet 2020
Statut
Membre
Dernière intervention
3 janvier 2021

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
Messages postés
840
Date d'inscription
lundi 23 mars 2020
Statut
Membre
Dernière intervention
8 janvier 2021
94
Ah ok , tu parles de faire ça graphiquement : dessiner les cases rouges MT sur un damier
de 15 x 15 cases ?
Messages postés
50
Date d'inscription
mardi 21 juillet 2020
Statut
Membre
Dernière intervention
3 janvier 2021

Oui c'est ça
Messages postés
840
Date d'inscription
lundi 23 mars 2020
Statut
Membre
Dernière intervention
8 janvier 2021
94
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()
Messages postés
50
Date d'inscription
mardi 21 juillet 2020
Statut
Membre
Dernière intervention
3 janvier 2021

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("")
Messages postés
50
Date d'inscription
mardi 21 juillet 2020
Statut
Membre
Dernière intervention
3 janvier 2021

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
Messages postés
840
Date d'inscription
lundi 23 mars 2020
Statut
Membre
Dernière intervention
8 janvier 2021
94
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 ?
Messages postés
50
Date d'inscription
mardi 21 juillet 2020
Statut
Membre
Dernière intervention
3 janvier 2021

Oui je l'ai fait. C'est pourquoi j'ai dit j'arrive à bien placer MT et les chaînes vides mais pas LD
Messages postés
840
Date d'inscription
lundi 23 mars 2020
Statut
Membre
Dernière intervention
8 janvier 2021
94
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', '', '', '', '', '']
Messages postés
50
Date d'inscription
mardi 21 juillet 2020
Statut
Membre
Dernière intervention
3 janvier 2021

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
Messages postés
13814
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
8 janvier 2021
775
Messages postés
50
Date d'inscription
mardi 21 juillet 2020
Statut
Membre
Dernière intervention
3 janvier 2021

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
Messages postés
13814
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
8 janvier 2021
775
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.
Messages postés
50
Date d'inscription
mardi 21 juillet 2020
Statut
Membre
Dernière intervention
3 janvier 2021

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....
Messages postés
840
Date d'inscription
lundi 23 mars 2020
Statut
Membre
Dernière intervention
8 janvier 2021
94
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 ...
Messages postés
50
Date d'inscription
mardi 21 juillet 2020
Statut
Membre
Dernière intervention
3 janvier 2021

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)]
Messages postés
840
Date d'inscription
lundi 23 mars 2020
Statut
Membre
Dernière intervention
8 janvier 2021
94
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] = ...)
Messages postés
50
Date d'inscription
mardi 21 juillet 2020
Statut
Membre
Dernière intervention
3 janvier 2021

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