def main(): """Script permettant de lancer le serveur""" # On charge les cartes existantes cartes = [] for nom_fichier in os.listdir("cartes"): if nom_fichier.endswith(".txt"): nom_carte = nom_fichier[:-4].lower() cartes.append(nom_carte) # Introduction du jeu avec la liste des options while "Choix de la carte": print("Bienvenue dans Roboc !") print("Entrez le numéro d'un labyrinthe pour commencer une partie") print("Labyrinthes existants :") for i, carte_disponible in enumerate(cartes): print(" {} - {}".format(i, carte_disponible)) choix = input("Choisir un labyrinthe:") try: choix = cartes[int(choix)] longueur, case = carte("cartes", choix) labyrinthe = Labyrinthe(longueur, case) break except ValueError: print("erreur recommence la saisie") continue print(labyrinthe) labyrinthe.placement(1) print(labyrinthe) labyrinthe.deplacement("n", 0) print(labyrinthe) labyrinthe.deplacement("n", 0) print(labyrinthe) labyrinthe.deplacement("n", 0) print(labyrinthe)
def test_move_forward(): c = carte(5, 5) a = aventurier("john", 3, 2, "S", "ADAGGADA") a.move_forward(c, 4, 2) assert a.axis_h == 4 assert a.axis_v == 2 assert c.board[a.axis_v][a.axis_h] == a.display_aventurier()
def test_tresors_is_inside_the_board(): c = carte(4, 5) c.tresors.append(tresor(2, 2, 3)) c.tresors.append(tresor(1, 2, 2)) c.tresors.append(tresor(3, 3, 1)) for i in c.tresors: assert 0 < i.axis_h < c.largeur assert 0 < i.axis_v < c.longueur
def test_simulation(): c=carte(4,4) c.aventuriers.append(aventurier("john",3,2,"S","ADAGGADA")) c.aventuriers.append(aventurier("lucie",1,1,"N","AGGAAADAAGA")) c.tour_de_jeu=tour(c.aventuriers) start_simulation(c) assert c.tour_de_jeu assert len(c.tour_de_jeu.aventuriers) == 2
def test_mountains_position_is_inside_the_board(): c = carte(4, 3) c.mountains.append(mountain(3, 1)) c.mountains.append(mountain(2, 2)) c.mountains.append(mountain(3, 2)) for i in c.mountains: assert 0 < i.axis_h < c.largeur assert 0 < i.axis_v < c.longueur
def test_aventurier_position_is_inside_the_board(): c = carte(4, 4) c.aventuriers.append(aventurier("john", 3, 2, "S", "ADAGGADA")) c.aventuriers.append(aventurier("linda", 1, 2, "N", "ADDDAGAGGA")) c.aventuriers.append(aventurier("luc", 3, 3, "O", "AAADDAAGADDAAAAA")) for i in c.aventuriers: assert 0 < i.axis_h < c.largeur assert 0 < i.axis_v < c.longueur assert type(i.name) == str assert i.orientation in ("S", "N", "O", "E") assert type(i.chemin) == str
def test_aventurier_move_blocked_by_mountain(): c=carte(4,4) m1=mountain(1,0) m2=mountain(3,3) c.mountains.append(m1) c.mountains.append(m2) c.board[m1.axis_v][m1.axis_h]=display_mountain() c.board[m2.axis_v][m2.axis_h]=display_mountain() t=tresor(2,2,1) a1=aventurier("john",3,2,"S","ADAGGADA") a2=aventurier("lucie",1,1,"N","AGGAAADAAGA") c.aventuriers.append(a1) c.aventuriers.append(a2) c.tour_de_jeu=tour(c.aventuriers) move=check_if_can_move(c,a2,new_index_y=0,new_index_x=1) assert move is None
class TestLabyrinthe: """Test du module labyrinthe""" carte_longueur, carte_test = (carte("cartes", "test")) lab = Labyrinthe(carte_longueur, carte_test) def test_labyrinthe(self): """test de la bonne creation du labyrinthe""" assert self.carte_longueur == 6 assert self.lab.cases[(0, 0)].valeur == "o" assert self.lab.cases[(1, 1)].valeur == " " assert self.lab.cases[(2, 2)].valeur == " " assert self.lab.cases[(3, 3)].valeur == " " assert self.lab.cases[(4, 4)].valeur == "o" def test_placement(self): """test de la methode de placement""" self.lab.placement(1) assert self.lab.cases[self.lab.joueurs[0]].valeur == "x"
def init_input(dirname_input): carte_created = False cwd, inputdir, dir = verify_input_path(dirname_input) if not dir: os.makedirs(inputdir, exist_ok=True) print( f"Le dossier d'entrée vient d'être créé, veuillez ajouter votre fichier d'entrée ici. {inputdir}" ) else: getfile = get_files_in_dir(inputdir) if getfile: if len(getfile) > 1: print( f"Plusieurs fichiers d'entrée sont dans le directory{inputdir}:\n{getfile}, seul le premier est pris en compte." ) # selectedfile=raw_input(f"Plusieurs fichiers d'entrée sont présents dans {inputdir} lequel voulez vous utilisez ? \n {getfile}:") # print(selectedfile) input = open(inputdir + "/" + getfile[0], "r") for l in input: if l[0] == "C" and carte_created: print( "une carte a déjà été instancié, cette ligne ne sera pas prise en compte seul une carte peut-etre créé à la fois." ) elif l[0] == "C" and not carte_created: str = l.replace(" ", "") values = str.split("-") try: largeur = int(values[1]) longueur = int(values[2]) except ValueError: print( " Les valeurs attendues sont des entiers. veuillez modifier le fichier." ) c = carte(largeur, longueur) carte_created = True print( f"La carte a ete cree. [{largeur} unites en largeur, {longueur} unites en longueur]" ) if l[0] == "M": str = l.replace(" ", "") values = str.split("-") try: axis_h = int(values[1]) axis_v = int(values[2][0]) except ValueError: print( " Les valeurs attendues sont des entiers. veuillez modifier le fichier." ) if not 0 <= axis_h < c.largeur or not 0 <= axis_v < c.longueur: print( "La case n'est pas dans la carte, la ligne est ignoré." ) else: if c.board[axis_h][axis_v] in display_plain(): c.mountains.append(mountain(axis_h, axis_v)) print( f"On aperçoit une montagne en [{axis_h},{axis_v}]" ) c.board[axis_h][axis_v] = display_mountain() else: print( "Cette case n'est pas une plaine, cette montagne ne peut etre créé ici. La ligne est donc ignoré" ) if l[0] == "T": str = l.replace(" ", "") values = str.split("-") try: axis_h = int(values[1]) axis_v = int(values[2]) nb_tresors = int(values[3][0]) except ValueError: print( " Les valeurs attendues sont des entiers. veuillez modifier le fichier." ) if not nb_tresors > 0: print( "le nombre de tresor doit être un entier positif non nul." ) else: if not 0 <= axis_h < c.largeur or not 0 <= axis_v < c.longueur: print( "La case n'est pas dans la carte, la ligne est ignoré." ) else: if c.board[axis_v][axis_h] in display_plain(): c.tresors.append( tresor(axis_h, axis_v, nb_tresors)) print( f"{nb_tresors} trésors ont été caché ici. [{axis_h},{axis_v}]" ) else: print( "Cette case n'est pas une plaine, le trésor ne peut pas être créé ici. La ligne est donc ignoré." ) if l[0] == "A": str = l.replace(" ", "") values = str.split("-") try: name = values[1] orientation = values[4] parcours = values[5] axis_h = int(values[2]) axis_v = int(values[3]) nb_tresors = int(values[6]) except ValueError: print( " Les valeurs attendues sont des entiers. veuillez modifier le fichier." ) if not 0 <= axis_h < c.largeur or not 0 <= axis_v < c.longueur: print( "La case n'est pas dans la carte, la ligne est ignoré." ) else: if not orientation in "NSOE": print( "L'orientation renseigné n'est pas reconnu, toute triche est sanctionné, la ligne est ignoré." ) else: c.aventuriers.append( aventurier(name, axis_h, axis_v, orientation, parcours, nb_tresors)) print( f"l'aventurier {name} est inscrit. il partira de [{axis_h},{axis_v}] et s'orientera vers {orientation}" ) for t in c.tresors: c.board[t.axis_v][t.axis_h] = t.display_tresor() for a in c.aventuriers: c.board[a.axis_v][a.axis_h] = a.display_aventurier() c.design_map() input.close() c.tour_de_jeu = tour(c.aventuriers) return c else: print("Pas de fichier d'entrée présent dans :" + inputdir + "\n\n\t Veuillez créer un fichier dans ce repertoire") return
def test_write_result_in_file(): c=carte(5,5) write_output(c,"/output","/test_resultat")
import sys sys.path.append("../combat") import combat #============================================================================== # map=cases.carte(10) # map.matrice[x][y].afficher(i, j) #============================================================================== D = 20 taille_carte = 30 pygame.init() fenetre = pygame.display.set_mode((640, 640), RESIZABLE) pygame.display.set_caption('Programme Pygame de base') mape = carte.carte(taille_carte) x = 0 y = 0 def affichercarte(x0, y0): for x in range(D): for y in range(D): fenetre.blit(mape.get_image_case(x + x0, y + y0), (x * 32, y * 32)) #def perso(i,j): # self.image = pygame.image.load("Data/personnage").convert_alpha() imgJoueur = combat.AssassinsMagique() personnage = imgJoueur.img.convert_alpha()
def test_delete_tresor_when_0(): c=carte(4,4) c.tresors.append(tresor(3,3,1)) c.tresors.append(tresor(1,1,2)) update_tresors(c,y=3,x=3) assert len(c.tresors)==1
def test_carte(): c = carte(10, 3) assert c