Escrevendo as classes de um Jogo
- #Lógica de Programação
- #JavaScript
🎮 Escrevendo as Classes de um Jogo
Projeto final
https://playcode.io/escrevendo-as-classes-de-um-jogo--019bd856-1e61-710e-bb87-5777687c8611
📘 Descrição
Projeto didático em **JavaScript** que demonstra conceitos de
**Programação Orientada a Objetos** por meio da implementação de uma classe genérica `Heroi`.
O código foi implementado e testado na plataforma **Playcode.io**.
O objetivo é criar heróis com propriedades básicas e um método `atacar()` que
exiba uma mensagem padronizada informando o tipo do herói e o ataque utilizado.
---
🎯 Objetivos do exercício
- Praticar **classes** e **objetos** em JavaScript.
- Utilizar **construtores** para inicializar propriedades.
- Aplicar **estruturas de decisão** (`switch/case`) para comportamento condicional.
- Trabalhar com **interpolação de strings** (template literals) para formatar saída.
---
🧩 Requisitos funcionais
- A classe `Heroi` deve possuir as propriedades:
- **nome**
- **idade**
- **tipo** (ex.: `guerreiro`, `mago`, `monge`, `ninja`)
- O método `atacar()` deve exibir uma mensagem no formato:
- O {tipo} atacou usando {ataque}
onde `{ataque}` varia conforme o tipo do herói.
---
💻 Código utilizado (conforme solicitado)
> **Observação:** este bloco contém exatamente o código que você forneceu e utilizou no Playcode.io.
```javascript
// Classe genérica que representa um herói
class Heroi {
constructor(nome, idade, tipo) {
this.nome = nome;
this.idade = idade;
this.tipo = tipo;
}
atacar() {
let ataque;
// Estrutura de decisão para definir o ataque conforme o tipo
switch (this.tipo.toLowerCase()) {
case "mago":
ataque = "usou magia";
break;
case "guerreiro":
ataque = "usou espada";
break;
case "monge":
ataque = "usou artes marciais";
break;
case "ninja":
ataque = "usou shuriken";
break;
default:
ataque = "não possui ataque definido";
}
// Exibe a mensagem formatada
console.log(`O ${this.tipo} atacou usando ${ataque}`);
}
}
// Exemplos de uso:
const heroi1 = new Heroi("Arthus", 30, "mago");
heroi1.atacar(); // Saída: O mago atacou usando magia
const heroi2 = new Heroi("Bjorn", 40, "guerreiro");
heroi2.atacar(); // Saída: O guerreiro atacou usando espada
const heroi3 = new Heroi("Shen", 25, "ninja");
heroi3.atacar(); // Saída: O ninja atacou usando shuriken
const heroi4 = new Heroi("Tenzin", 50, "monge");
heroi4.atacar(); // Saída: O monge atacou usando artes marciais
console.log(`O ${this.tipo} atacou usando ${ataque}`);
## Saída
O mago atacou usando magia
O guerreiro atacou usando espada
O monge atacou usando artes marciais
O ninja atacou usando shuriken
✨ Conclusão
Este projeto é uma base prática e didática para consolidar conceitos de classes,
objetos e estruturas de decisão em JavaScript.
O código fornecido funciona como ponto de partida e pode ser
facilmente estendido para criar simulações mais complexas e interativas.



