Salut a tous,

je n'arrive pas a creer et instancier mon objet carte du fichier carte.py dans mon fichier roboc.py pour pouvoir lire mes cartes

merci d'avance


fichier carte.py
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
 
# -*-coding:Utf-8 -*
import os 
#Module classe carte
 
 
 
 
partieEnregistree = "partie"
 
#Classe de la carte 
class Carte:
 
 
 
	def __init__(self, nom, chaine):
		self.nom = nom
		self.labyrinthe = chaine
 
 
 
	def __repr__(self):
		return "<Carte {}>".format(self.nom)
 
 
 
	def size(self):
 
		absc = len(self.enregistrement[0])		
		ordo = len(self.enregistrement)
 
		return(absc, ordo)
 
 
#Fonction pour afficher et choisir la carte
 
	def carte(self):
		cartes = os.listdir("cartes")
		# On affiche les cartes existantes
		print("Labyrinthes existants :")
		for i, carte in enumerate(cartes):
			print("  {} - {}".format(i, carte))
 
 
 
		numCarte = 0
 
 
		try:
			numCarte = int(input("Veuillez entrer le numero de carte à jouer : "))
 
		except ValueError:
			print("Veuillez entrer un nombre")
 
 
		carteFile = open("/home/yohan/roboc/roboc/cartes/"+cartes[numCarte], "r") # ouvrir la carte
		print(carteFile.read()) # lire la carte 
 
		self.enregistrement = carteFile.read()
 
 
 
#afficher ma position
	def position(self):
 
 
		for i, ligne in enumerate(self.enregistrement):
 
			for j, caractere in enumerate(ligne):
 
 
				if caractere == "X":
					self.abscisse = i
					self.ordonnee = j
 
					return(self.abscisse, self.ordonnee)
fichier roboc.py

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
 
# -*-coding:Utf-8 -*
 
#Code du jeu 
 
import os
 
import pickle 
 
from carte import Carte
 
 
 
#creer et instancier mon*objet carte
 
# regles du jeux
def reglesDuJeux():
	print("Voici les regles du jeux : ")
	print("""
                Le jeu est un labyrinthe formé d'obstacles : des murs qui sont tout simplement là pour vous bloquer,
                des portes qui peuvent être traversées et au moins un point par lequel on peut quitter le labyrinthe.
                Si le robot arrive sur ce point, la partie est considérée comme gagnée.
 
                Le robot est contrôlable grâce à des commandes du clavier. Voici les commandes du jeu :
 
                Q qui doit permettre de sauvegarder et quitter la partie en cours ;
                N qui demande au robot de se déplacer vers le nord (c'est-à-dire le haut de votre écran) 
                E qui demande au robot de se déplacer vers l'est (c'est-à-dire la droite de votre écran) 
                S qui demande au robot de se déplacer vers le sud (c'est-à-dire le bas de votre écran) 
                O qui demande au robot de se déplacer vers l'ouest (c'est-à-dire la gauche de votre écran) 
                Chacune des directions ci-dessus suivies d'un nombre permet d'avancer de plusieurs cases 
 
                """)
reglesDuJeux()
 
def configuration(robot, obstacles, portes, sortie, passage, position):
	self.robot = "X"
	self.obstacles = "O"
	self.portes = "." 
	self.sortie = "U"
	self.liste_passage = " "
	self.position = []
 
 
 
#Fonction pour quitter la partie
 
continuePartie = True
def quitter(): 
 
	print("Souhaitez vous quitter la partie ? (q pour quitter) ")
 
	if quitter == "q" or quitter == "Q":
		continuePartie = False
		print("Vous quittez la partie")
 
	else:
		continuePartie = True
 
#Fonction pour bouger le robot
 
def bouger(nord, ouest, sud, est):
 
 
	self.nord = "n"
	self.ouest = "o"
	self.sud = "s"
	self.est = "e"
 
 
	if commande.lower() == "n":
		# tester mur
		self.ordonne -= 1
 
	if commande.lower() == "o":
 
		self.abscisse -= 1
 
	if commande.lower() == "s":
 
		self.ordonne += 1
 
 
	if commande.lower() == "e":
 
		self.abscisse += 1
 
# Fonction pour sauvergarder une partie
 
def enregistrerPartie():
 
	fichier_enregistre = open(partieEnregistree, "wb") 
 
	mon_pickler = pickle.Pickler(fichier_enregistre)
 
	mon_pickler.dump(partie)
 
	fichier_enregistre.close()
 
 
# Fonction pour recuperer une partie
def recupererPartie():
 
	if os.path.exists(partieEnregistree):
 
		fichier_enregistre = open(partieEnregistree, "rb")
 
		mon_depickler = pickle.Unpickler(fichier_enregistre)
 
		partie = mon_depickler.load()
 
		fichier_enregistre.close()
 
 
	return partie