Jeu de Rôle - Niveau

Ce projet est une implémentation d’un système de niveau pour un jeu de rôle. Il permet de générer des pièces avec des mobs (monstres) et de naviguer entre ces pièces.

Structure du Projet

Fonctionnalités

  1. Génération de Niveau : - Charge un nombre aléatoire de mobs en fonction de la difficulté. - Génère des pièces et y répartit les mobs disponibles.

  2. Navigation entre les Pièces : - Permet à l’utilisateur de naviguer entre les pièces ou de quitter le jeu.

Exemple d’utilisation

#app.py
if __name__ == "__main__":
    loaded_character = CharacterBuilder.load_character("Jamin")
    if loaded_character:
        print(loaded_character)

    level = Level(2, CharacterBuilder.load_character("Jamin"))
    player = level.player
    rooms = level.rooms
    number_room = len(rooms)
    print(f"Nombre de pièce dans le donjon : {number_room}")

    while level.exit_level:
        os.system('cls' if os.name == 'nt' else 'clear')
        match action_menu():
            case 1:
                if level.current_room_index >= number_room:
                    print("fin du donjon !")
                    break
                room = rooms[level.current_room_index]
                print(f"Pièce actuelle : {level.current_room_index}")
                if room is not None:
                    for mob in room:
                        print(f"Un {mob.name} est devant toi !")
                        match action_menu():
                            case 2:
                                level.combat(mob, player)
                                if player.current_pv <= 0:
                                    print("!!!!!!!!! Joueur mort !!!!!!!!!!")
                                    break
                                if mob.current_pv == 0:
                                    print(f"Le {mob.name} est mort !!")
                            case 3:
                                print("Tu fuis la pièce")
                else:
                    print("\n ------ Pièce vide ------ \n")
                player.current_pv = player.max_pv
                level.current_room_index += 1
            case 4:
                level.exit_level = False
                print(f"Au revoir {player.name} !")
            case _:
                print("Mauvais choix")

Installation

Pour exécuter ce projet, vous aurez besoin de Python 3.7 ou supérieur.

python3 app.py