dragon
|

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:

  1. Permita criar diferentes tipos de dragões com atributos específicos

  2. Simule batalhas entre dois dragões

  3. Determine o vencedor baseado nas regras de ataque/defesa

  4. Exiba os resultados de forma clara

REQUISITOS DO PROGRAMA DO DRAGON CITY RPG

1. Estrutura de Classes

  • Classe Base Dragao

    • Atributos: nomeataquedefesa

    • Método: atacar() (exibe mensagem de ataque)

  • Subclasses (com valores específicos da imagem):

    • DragaoGaia: Ataque 1811, Defesa 1273

    • DragaoApache: 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 negativo

  • Exibe:

    • 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.

Posts Similares

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *