Dragon City RPG – Python
SITUAÇÃO PROBLEMA DO DRAGON CITY RPG
Como mestre dos dragões em Dragon City, você precisa gerenciar batalhas entre seus dragões. O sistema atual é manual e propenso a erros nos cálculos de ataque/defesa. Você precisa desenvolver um programa em Python que:
Permita criar diferentes tipos de dragões com atributos específicos
Simule batalhas entre dois dragões
Determine o vencedor baseado nas regras de ataque/defesa
Exiba os resultados de forma clara
REQUISITOS DO PROGRAMA DO DRAGON CITY RPG
1. Estrutura de Classes
Classe Base
Dragao
Atributos:
nome
,ataque
,defesa
Método:
atacar()
(exibe mensagem de ataque)
Subclasses (com valores específicos da imagem):
DragaoGaia
: Ataque 1811, Defesa 1273DragaoApache
: Ataque 3121, Defesa 4838
2. Sistema de Batalha
Função que recebe dois dragões como parâmetros
Calcula dano como:
ataque - defesa_oponente
Usa
max(..., 0)
para evitar dano negativoExibe:
Ataques de cada dragão
Dano calculado
Dragão vencedor ou empate
3. Execução Principal
Criação de pelo menos 1 dragão de cada tipo
Uma batalha entre os dragões
Saída formatada com emojis para melhor visualização
EXEMPLO DE SAÍDA ESPERADA
=== TORNEIO DE DRAGÕES ===
Java vs Feroz!
Java usou golpe com 1811 de poder!
Feroz usou golpe com 3121 de poder!
Dano efetivo:
Java: 0
Feroz: 1310
Feroz venceu!
SUPERCLASSE - DRAGON
# === CLASSE BASE ===
class Dragon:
def __init__(self, nome, tipo, ataque, defesa):
self.nome = nome
self.tipo = tipo
self.ataque = ataque
self.defesa = defesa
def atacar(self):
print(f"{self.nome} ({self.tipo}) atacou com {self.ataque} de dano!")
SUBCLASSE - DRAGÃO GAIA
class DragaoGaia(Dragon):
def __init__(self, nome):
super().__init__(nome, "Gaia", 1811, 1273)
SUBCLASSE - DRAGÃO APACHE
class DragaoApache(Dragon):
def __init__(self, nome):
super().__init__(nome, "Apache", 3121, 4838)
FUNÇÃO BATALHA
# === SISTEMA DE BATALHA ===
def batalha(dragao1, dragao2):
print(f"\n {dragao1.nome} vs {dragao2.nome}!")
dragao1.atacar()
dragao2.atacar()
dano1 = max(dragao1.ataque - dragao2.defesa, 0)
dano2 = max(dragao2.ataque - dragao1.defesa, 0)
print(f"\n Dano causado:")
print(f"{dragao1.nome}: {dano1}")
print(f"{dragao2.nome}: {dano2}")
if dano1 > dano2:
print(f"\n {dragao1.nome} venceu!")
elif dano2 > dano1:
print(f"\n {dragao2.nome} venceu!")
else:
print("\n Empate!")
FUNÇÃO MAIN
# === FUNÇÃO MAIN ===
def main():
print("=== DRAGON CITY RPG ===")
# Criação dos dragões
java = DragaoGaia("Java")
feroz = DragaoApache("feroz")
# Batalha automática
print("\nBatalha automática iniciada!")
batalha(java, feroz)
print("\nFim da batalha!")
# === EXECUÇÃO ===
if __name__ == "__main__":
main()
Caso o Python ainda não esteja instalado em seu dispositivo, clique no botão abaixo para realizar a instalação.