3
respostas

Desafio: Classe Arqueiro

Arqueiro.js

import { Personage } from "./personagem.js"

export class Arqueiro extends Personagem {
    tipo = 'Arqueiro'
    destreza

    constructor(nome, level, destreza) {
        super(nome, level)
        this.destreza = destreza
    }

    obterInsignia() {
        if (this.destreza >= 5)
            return 'Dominador de Flechas'

        return super.obterInsignia()
    }

}

Index.js

import { Personagem } from "./modules/personagem.js"
import { PersonagemView } from "./components/personagem-view.js"
import { Mago } from "./modules/mago.js"
import { Arqueiro } from "./modules/arqueiro.js"

const magoAntonio = new Mago('Antonio', 4, 'fogo', 4, 3)
const magaJulia = new Maga('Julia', 8, 'gelo', 7, 10)
const arqueiroBruno = new Arqueiro('Bruuno', 7, 8)
const personagens = [magoAntonio, magaJulia, arqueiroBruno]


new PersonagemView(personagens).render   

No meu Index quando vou salvar e renderizar, aparece um erro no console no PersonagemView. Gostaria de saber o porquê está dando esse erro ainda?

3 respostas

Olá, Estanislau! Tudo bem?

Pelo que você descreveu, parece que o erro está acontecendo na parte do PersonagemView. Uma possibilidade é que o método render não está sendo chamado corretamente. No seu código, você tem:

new PersonagemView(personagens).render

Para garantir que o método render seja executado, você precisa chamá-lo com parênteses, assim:

new PersonagemView(personagens).render()

Se o erro persistir, pode ser útil verificar o arquivo personagem-view.js para garantir que o método render está implementado corretamente. Certifique-se de que ele está definido e que não há erros de sintaxe ou lógicas que possam estar causando o problema.

Espero ter ajudado. Conte com o apoio do fórum :)

Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado
![![Meu erro está aí ]
(https://cdn1.gnarususercontent.com.br/1/6232066/3fb35ca1-f1c0-4044-aeb2-168cb4d29bc2.jpg)  ]()

Oi, Estanislau!

Sobre sua última dúvida, vendo o erro que apareceu no console (“Failed to load resource: the server responded with a status of 404 (Not Found)”), o problema está relacionado ao arquivo personagem-view.js.

A mensagem de erro indica que o arquivo não foi encontrado no caminho indicado. Isso acontece por dois motivos principais:

  1. Caminho errado no import:
    Você está tentando importar o arquivo assim:

    
    import { PersonagemView } from "./components/personagem-view.js"
    

    Verifique se o nome do arquivo e a extensão estão corretos e exatamente iguais, incluindo letras maiúsculas/minúsculas. Por exemplo, se o nome do arquivo for PersonagemView.js com V maiúsculo, o import deve ser:

    
    import { PersonagemView } from "./components/PersonagemView.js"
    
  2. Arquivo inexistente na pasta components:
    Confirme se o arquivo personagem-view.js realmente existe dentro da pasta components. Se ele não estiver lá, você precisa:

    • Criar o arquivo personagem-view.js na pasta components
    • Ou mover o arquivo para lá se ele estiver em outro lugar

Além disso, corrija a chamada do método render, pois está faltando os parênteses:


new PersonagemView(personagens).render()

Fico à disposição. Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado