-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtest.py
94 lines (83 loc) · 3.75 KB
/
test.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
def afficher_tableau(matrice):
print(" A B C D E F G H I J ")
print(" -----------------------------------------")
coordonnée_vertical = -1
for ligne in matrice:
ligne_final = "|"
coordonnée_vertical += 1
for valeur in ligne:
ligne_final += f" {valeur} |"
print(coordonnée_vertical, ligne_final)
print(" -----------------------------------------")
def convertir_coordonnees(coordonnee):
colonne = ord(coordonnee[0].upper()) - ord('A')
ligne = int(coordonnee[1])
return ligne, colonne
# Exemple d'utilisation
coordonnee = "J9"
ligne, colonne = convertir_coordonnees(coordonnee)
print(f"Coordonnées transformées : ({ligne}, {colonne})")
def demander_coordonnee():
while True:
coordonnee = input("Entrez une coordonnée (sous la forme A0) : ")
if len(coordonnee) < 2 or len(coordonnee) > 3:
print("La coordonnée doit contenir une lettre suivie d'un ou deux chiffres.")
continue
colonne = coordonnee[0].upper()
ligne = coordonnee[1:]
if colonne < 'A' or colonne > 'J' or not ligne.isdigit() or int(ligne) < 0 or int(ligne) > 9:
print("Coordonnée invalide. La lettre doit être comprise entre A et J, et le chiffre entre 0 et 9.")
continue
return coordonnee
def convertir_en_coordonnee_alpha(coordonnee):
colonne_alpha = chr(coordonnee[1] + ord('A'))
ligne = coordonnee[0]
coord_alpha = colonne_alpha + str(ligne)
return coord_alpha
def est_bien_un_pion_joueur(matrice, coordonnee):
ligne, colonne = coordonnee
if ligne < 0 or ligne >= len(matrice) or colonne < 0 or colonne >= len(matrice[0]):
print("Coordonnée en dehors des limites de la matrice.")
return False
if matrice[ligne][colonne] == '●':
coord_alpha = convertir_en_coordonnee_alpha((ligne, colonne))
print("Le caractère à la coordonnée", coord_alpha, "est bien '●'.")
return True
else:
coord_alpha = convertir_en_coordonnee_alpha((ligne, colonne))
print("Le caractère à la coordonnée", coord_alpha, "n'est pas '●'.")
return False
def deplacements_possibles(coordonnee):
directions = [(0, 1), (0, -1), (1, 0), (-1, 0)] # Haut, Bas, Droite, Gauche
deplacements = []
ligne, colonne = coordonnee
for direction in directions:
nouvelle_ligne = ligne + direction[0]
nouvelle_colonne = colonne + direction[1]
if 0 <= nouvelle_ligne < 10 and 0 <= nouvelle_colonne < 10:
deplacements.append((nouvelle_ligne, nouvelle_colonne))
return deplacements
def marquer_positions(matrice, positions):
for position in positions:
ligne, colonne = position
if 0 <= ligne < len(matrice) and 0 <= colonne < len(matrice[0]):
matrice[ligne][colonne] = "X"
return matrice
# Exemple d'utilisation
matrice = [
[" ", " ", " ", " ", " ", " ", " ", " ", " ", " "],
['○', '○', '○', '○', '○', '○', '○', '○', '○', '○'],
[" ", " ", " ", " ", " ", " ", " ", " ", " ", " "],
['●', '●', '●', '●', '●', '●', '●', '●', '●', '●'],
[" ", " ", " ", " ", " ", " ", " ", " ", " ", " "],
[" ", " ", " ", " ", " ", " ", " ", " ", " ", " "],
['●', '●', '●', '●', '●', '●', '●', '●', '●', '●'],
[" ", " ", " ", " ", " ", " ", " ", " ", " ", " "],
['○', '○', '○', '○', '○', '○', '○', '○', '○', '○'],
[" ", " ", " ", " ", " ", " ", " ", " ", " ", " "],
]
positions_a_marquer = [(1, 1), (3, 3), (5, 5)] # Exemple de liste de positions à marquer
matrice_marquee = marquer_positions(matrice, positions_a_marquer)
# Affichage de la matrice marquée
for ligne in matrice_marquee:
print(ligne)