DEV Community

Cover image for RPG Game - Python
Samuell Morgesntern de Souza
Samuell Morgesntern de Souza

Posted on

RPG Game - Python

Introduction to game developed with python in development!

The purpose of this project is to improve my python skills and why not with a text game? for now it's basically a character registration, allowing you to choose between existing classes and also being possible for the user to create a class, I made up a brief introduction, hope you like it.

import random class Character: def __init__(self): self.name = "" self.character_class = "" self.powers = [] self.life = 0 self.defense = 0 self.mana = 0 self.stamina = 0 def create_character(self): print("=== Criação de Personagem ===") self.name = input("Nome do Personagem: ") self.character_class = input("Classe do Personagem (Mago, Guerreiro ou Arqueiro): ") if self.character_class.lower() == "mago": self.life = 60 self.defense = 30 self.mana = 90 self.stamina = 40 elif self.character_class.lower() == "guerreiro": self.life = 80 self.defense = 60 self.mana = 20 self.stamina = 70 elif self.character_class.lower() == "arqueiro": self.life = 70 self.defense = 40 self.mana = 50 self.stamina = 90 else: print("Classe inválida. Escolha entre Mago, Guerreiro ou Arqueiro.") return powers_input = input("Poderes do Personagem (separe por vírgula caso tenha mais de um): ") self.powers = powers_input.split(",") print("\n=== Detalhes do Personagem ===") self.print_character_details() def edit_character(self): print("\n=== Edição de Personagem ===") self.print_character_details() print("Escolha o que deseja editar:") print("1 - Nome do Personagem") print("2 - Classe do Personagem") print("3 - Poderes do Personagem") print("4 - Confirmar e sair da edição") choice = input("Opção: ") if choice == "1": self.name = input("Novo Nome do Personagem: ") elif choice == "2": self.character_class = input("Nova Classe do Personagem (Mago, Guerreiro ou Arqueiro): ") if self.character_class.lower() != "mago": self.life = random.randint(1, 100) self.defense = random.randint(1, 100) self.mana = random.randint(1, 100) self.stamina = random.randint(1, 100) elif choice == "3": powers_input = input("Novos Poderes do Personagem (separe por vírgula caso tenha mais de um): ") self.powers = powers_input.split(",") elif choice == "4": print("Edição concluída.") else: print("Opção inválida. Tente novamente.") if choice != "4": self.edit_character() def print_character_details(self): print(f"Nome do Personagem: {self.name}") print(f"Classe do Personagem: {self.character_class}") print(f"Poderes do Personagem: {', '.join(self.powers)}") print(f"Vida: {self.life}") print(f"Defesa: {self.defense}") print(f"Mana: {self.mana}") print(f"Estamina: {self.stamina}") def find_weapon(self): if self.character_class.lower() == "mago": print("Enquanto andava desorientado pela floresta, você tropeça numa cabana.") print("Dentro dela, você encontra uma varinha mágica que aumenta seus poderes!") weapon_choice = input("Deseja pegar a varinha mágica? (Digite 's' para sim ou 'n' para não): ") if weapon_choice.lower() == 's': self.mana += 20 print("Você pegou a varinha mágica e seus poderes aumentaram!") else: print("Você decidiu não pegar a varinha mágica.") elif self.character_class.lower() == "guerreiro": print("Enquanto andava desorientado pela floresta, você tropeça numa cabana.") print("Dentro dela, você encontra uma espada robusta que aumenta sua força!") weapon_choice = input("Deseja pegar a espada robusta? (Digite 's' para sim ou 'n' para não): ") if weapon_choice.lower() == 's': self.life += 10 self.defense += 10 print("Você pegou a espada robusta e sua força aumentou!") else: print("Você decidiu não pegar a espada robusta.") elif self.character_class.lower() == "arqueiro": print("Enquanto andava desorientado pela floresta, você tropeça numa cabana.") print("Dentro dela, você encontra um arco preciso que aumenta sua destreza!") weapon_choice = input("Deseja pegar o arco preciso? (Digite 's' para sim ou 'n' para não): ") if weapon_choice.lower() == 's': self.stamina += 20 print("Você pegou o arco preciso e sua destreza aumentou!") else: print("Você decidiu não pegar o arco preciso.") else: print("Enquanto andava desorientado pela floresta, você tropeça numa cabana, mas não encontra nada útil.") character = Character() character.create_character() print("\nDeseja editar o personagem?") print("1 - Sim") print("2 - Não") edit_choice = input("Escolha: ") if edit_choice == "1": character.edit_character() character.find_weapon() 
Enter fullscreen mode Exit fullscreen mode

accepting subjects! :)

Top comments (1)

Collapse
 
frossard profile image
Anderson Frossard

Very good. is it possible to make it run inside a browser? if yes, how could we do it?