Trouver et changer les coordonnée d'une matrice
KaMa1712
Messages postés
2
Date d'inscription
Statut
Membre
Dernière intervention
-
KaMa1712 Messages postés 2 Date d'inscription Statut Membre Dernière intervention -
KaMa1712 Messages postés 2 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j'ai un projet et cette étape consiste à repérer si une certaine coordonnée est dans le tableau de jeu ou non, pour sa je doit d'abord convertir les lettres en chiffres en ASCII (fait) ensuite mettre mes propre coordonnées (en colonnes de A à I et en lignes de 1 à 9) et après une petite fonction pour voir si les coordonnées son dans le tableau.
Mais j'ai plusieurs problèmes que vous verrais dans les screen en-dessous, premièrement la représentation de ma matrice m'oblige à ignorer les 2 premières lignes et colonnes (car ce n'est pas sur le plateau de jeu qui fais du 9*9) mais pour la représentation de celui-ci je suis obligé de faire un 20*11. Donc le première objectif serais de ne prendre en compte dans les fonction que la partie ou les pions ce déplacerons (9*9) mais que sa ne l'enlève pas de l'affichage graphique.
Petite précision je n'ai le droit à aucune librairie il faut que sa soit en pure code et je n'y arrive pas du tout je suis bloqué à cette étape du coup si vous pouvez m'aider sa serais génial :)
oh et aussi les print que je mets hors des fonctions sont soit des tests soit des appels de fonction.
j'ai un projet et cette étape consiste à repérer si une certaine coordonnée est dans le tableau de jeu ou non, pour sa je doit d'abord convertir les lettres en chiffres en ASCII (fait) ensuite mettre mes propre coordonnées (en colonnes de A à I et en lignes de 1 à 9) et après une petite fonction pour voir si les coordonnées son dans le tableau.
Mais j'ai plusieurs problèmes que vous verrais dans les screen en-dessous, premièrement la représentation de ma matrice m'oblige à ignorer les 2 premières lignes et colonnes (car ce n'est pas sur le plateau de jeu qui fais du 9*9) mais pour la représentation de celui-ci je suis obligé de faire un 20*11. Donc le première objectif serais de ne prendre en compte dans les fonction que la partie ou les pions ce déplacerons (9*9) mais que sa ne l'enlève pas de l'affichage graphique.
Petite précision je n'ai le droit à aucune librairie il faut que sa soit en pure code et je n'y arrive pas du tout je suis bloqué à cette étape du coup si vous pouvez m'aider sa serais génial :)
oh et aussi les print que je mets hors des fonctions sont soit des tests soit des appels de fonction.
#python
from math import *
lignes = [1,2,3,4,5,6,7,8,9]
clonnes = ['A','B','C','D','E','F','G','H','I']
grille_debut = [['','','|',1,'',2,'',3,'',4,'',5,'',6,'',7,'',8,'',9],
['','','|','-','','-','','-','','-','','-','','-','','-','','-','','-',],
['A','|','o','','o','','o','','o','','o','','o','','o','','o','','o'],
['B','|','o','','o','','o','','o','','o','','o','','o','','o','','o'],
['C','|','o','','o','','o','','o','','o','','o','','o','','o','','o'],
['D','|','','','','','','','','','','','','','','','','',''],
['E','|','','','','','','','','','','','','','','','','',''],
['F','|','','','','','','','','','','','','','','','','','',],
['G','|','x','','x','','x','','x','','x','','x','','x','','x','','x'],
['H','|','x','','x','','x','','x','','x','','x','','x','','x','','x',],
["I",'|','x','','x','','x','','x','','x','','x','','x','','x','','x',]]
def affichage_grille_debut(grille_debut):
for i in range(len(grille_debut)):
for j in range(len(grille_debut[i])):
print(grille_debut[i][j], end=' ')
print()
print(affichage_grille_debut(grille_debut))
print(ord('A'))
print(chr(65))
print([row[0] for row in grille_debut])
def convertir(grille_debut):
for i in [row[0] for row in grille_debut[2:]]:
print(ord(i))
print(convertir(grille_debut))
def saisir_cordonner(grille_debut, elem):
if elem in range(grille_debut):
print("cette coordonner est dans le tableau")
else:
print("cette coordonner n'est pas dans le tableau")
print(saisir_cordonner(grille_debut,(6,3)))
A voir également:
- Trouver et changer les coordonnée d'une matrice
- Changer dns - Guide
- Trouver adresse mac - Guide
- Coordonnée gps - Guide
- Changer carte graphique - Guide
- Changer wifi chromecast - Guide
2 réponses
Bonjour,
Pour l'affichage du code, il faut choisir "python" dans la liste de valeur pour avoir une coloration syntaxique.
Après pour ton exercice, moi je ferais juste une grille 9X9 avec les cases du damier. Puis une fonction d'affichage qui rajoute les intitulés lignes/colonnes à l'écran.
Ainsi quand tu testes si la position en réponse est dans la grille, tu n'a qu'à tester <=9 pour chacune des 2 valeurs. Et après pour cibler une case ce sera
Car ton
elem[0] par rapport à len(grille_debut) et elem[1] par rapport à len(grille_debut[elem[0]]), mais cela s'il n'y avait que des cases du damier dans ton tableau, pas les blancs de séparation et les titres lignes colonnes
Enfin quand tu utilises un print exécutant une fonction, il faudrait que la fonction retourne une valeur (avec l'instruction return xxx) car sinon le print va donner
Pour seulement exécuter la fonction, ne pas faire
Pour l'affichage du code, il faut choisir "python" dans la liste de valeur pour avoir une coloration syntaxique.
#python from math import * lignes = [1,2,3,4,5,6,7,8,9] clonnes = ['A','B','C','D','E','F','G','H','I'] grille_debut = [['','','|',1,'',2,'',3,'',4,'',5,'',6,'',7,'',8,'',9],
Après pour ton exercice, moi je ferais juste une grille 9X9 avec les cases du damier. Puis une fonction d'affichage qui rajoute les intitulés lignes/colonnes à l'écran.
Ainsi quand tu testes si la position en réponse est dans la grille, tu n'a qu'à tester <=9 pour chacune des 2 valeurs. Et après pour cibler une case ce sera
grille[l][c]
Car ton
if elem in range(grille_debut):n'a pas de sens, il faudrait regarder
elem[0] par rapport à len(grille_debut) et elem[1] par rapport à len(grille_debut[elem[0]]), mais cela s'il n'y avait que des cases du damier dans ton tableau, pas les blancs de séparation et les titres lignes colonnes
Enfin quand tu utilises un print exécutant une fonction, il faudrait que la fonction retourne une valeur (avec l'instruction return xxx) car sinon le print va donner
None
Pour seulement exécuter la fonction, ne pas faire
print(affichage_grille_debut(grille_debut))mais juste
affichage_grille_debut(grille_debut)