Créer et instancier objet
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:
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:
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 |