galera o que ta faltando para as minhas imagens aparecerem eu acabei bugando no q estava fazendo…
package Pack.Entities;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Random;
import javax.imageio.ImageIO;
import cards.Arqueiro;
import cards.Guerreiro;
import cards.Habilidades;
import cards.Mago;
public class Classe extends Habilidades {
private BufferedImage guerreiroImage;
private BufferedImage magoImage;
private BufferedImage arqueiroImage;
static Classe cartaSacada = new Classe();
boolean drawCard = true;
Random r = new Random();
int card = 1; // quantidade de card que se pode usar
ArrayList<Habilidades> cardBatalha = new ArrayList<>();
//ArrayList<Skils> skils = new ArrayList<>();
//ArrayList<Itens> itens = new ArrayList<>();
public Classe() {
try {
guerreiroImage = ImageIO.read(getClass().getResource("/001_.png"));
magoImage = ImageIO.read(getClass().getResource("/002_.png"));
arqueiroImage = ImageIO.read(getClass().getResource("/002_.png"));
} catch (IOException e) {
e.printStackTrace();
}
addAsCartas(); // se não chamar o método aqui a lista vai dar como vazia!
}
//
public void addAsCartas() {
// Verifique se a lista está vazia antes de tentar sortear uma carta
if (cardBatalha.isEmpty()) {
int cartaSorteada = r.nextInt(3); // 3 opções: Guerreiro, Mago, Arqueiro
// Adicione a carta sorteada à lista
if (cartaSorteada == 0) {
cardBatalha.add(new Guerreiro(guerreiroImage));
} else if (cartaSorteada == 1) {
cardBatalha.add(new Mago(magoImage));
} else if (cartaSorteada == 2) {
cardBatalha.add(new Arqueiro(arqueiroImage));
}
}
}
// Get e Set
public String getNome() {
// Verificando se a lista não está vazia
if (!cardBatalha.isEmpty()) {
// Acessando o campo 'nome' do primeiro objeto na lista
return cardBatalha.get(card).nome;
}
return null; // Retorna null se a lista estiver vazia
}
public int getVida() {
// Verificando se a lista não está vazia
if (!cardBatalha.isEmpty()) {
// Acessando o campo 'nome' do primeiro objeto na lista
return cardBatalha.get(card).vida;
}
return 0; // Retorna null se a lista estiver vazia
}
public int getAgilidade() {
// Verificando se a lista não está vazia
if (!cardBatalha.isEmpty()) {
// Acessando o campo 'nome' do primeiro objeto na lista
return cardBatalha.get(card).agilidade;
}
return 0; // Retorna null se a lista estiver vazia
}
}
////////////////
package Pack.Entities;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Random;
import javax.imageio.ImageIO;
import cards.Arqueiro;
import cards.Guerreiro;
import cards.Habilidades;
import cards.Mago;
public class Classe extends Habilidades {
private BufferedImage guerreiroImage;
private BufferedImage magoImage;
private BufferedImage arqueiroImage;
static Classe cartaSacada = new Classe();
boolean drawCard = true;
Random r = new Random();
int card = 1; // quantidade de card que se pode usar
ArrayList<Habilidades> cardBatalha = new ArrayList<>();
//ArrayList<Skils> skils = new ArrayList<>();
//ArrayList<Itens> itens = new ArrayList<>();
public Classe() {
try {
guerreiroImage = ImageIO.read(getClass().getResource("/001_.png"));
magoImage = ImageIO.read(getClass().getResource("/002_.png"));
arqueiroImage = ImageIO.read(getClass().getResource("/002_.png"));
} catch (IOException e) {
e.printStackTrace();
}
addAsCartas(); // se não chamar o método aqui a lista vai dar como vazia!
}
//
public void addAsCartas() {
// Verifique se a lista está vazia antes de tentar sortear uma carta
if (cardBatalha.isEmpty()) {
int cartaSorteada = r.nextInt(3); // 3 opções: Guerreiro, Mago, Arqueiro
// Adicione a carta sorteada à lista
if (cartaSorteada == 0) {
cardBatalha.add(new Guerreiro(guerreiroImage));
} else if (cartaSorteada == 1) {
cardBatalha.add(new Mago(magoImage));
} else if (cartaSorteada == 2) {
cardBatalha.add(new Arqueiro(arqueiroImage));
}
}
}
// Get e Set
public String getNome() {
// Verificando se a lista não está vazia
if (!cardBatalha.isEmpty()) {
// Acessando o campo 'nome' do primeiro objeto na lista
return cardBatalha.get(card).nome;
}
return null; // Retorna null se a lista estiver vazia
}
public int getVida() {
// Verificando se a lista não está vazia
if (!cardBatalha.isEmpty()) {
// Acessando o campo 'nome' do primeiro objeto na lista
return cardBatalha.get(card).vida;
}
return 0; // Retorna null se a lista estiver vazia
}
public int getAgilidade() {
// Verificando se a lista não está vazia
if (!cardBatalha.isEmpty()) {
// Acessando o campo 'nome' do primeiro objeto na lista
return cardBatalha.get(card).agilidade;
}
return 0; // Retorna null se a lista estiver vazia
}
}
/////////////
package cards;
import java.awt.image.BufferedImage;
public class Guerreiro extends Habilidades{
// private BufferedImage imagem;
public Guerreiro(BufferedImage imagem) {
super(imagem);
this.nome = "Guerreiro";
this.vida = 100;
this.agilidade = 50;
}
}
///////
package Pack.Entities;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
public class Player1 extends Entiti {
// se a Classe c statica que esta na Classe classe der errado tiro os // abaixo
// Classe c = new Classe();
//Habilidades dadosP1 = new Habilidades();
private BufferedImage cartaAtual;
public Player1(int x, int y, int width, int height) {
super(x, y, width, height, null);
sortear();
cartaAtual = cartaSacada.cardBatalha.get(cartaSacada.card).imagem;
}
// O jogador recebe os atributos da carta sorteada
public void addAtributosP1() {
int cartaSorteada = r.nextInt(cardBatalha.size());
// Use os atributos da carta sorteada
nome = cardBatalha.get(cartaSorteada).getNome();
vida = cardBatalha.get(cartaSorteada).getVida();
agilidade = cardBatalha.get(cartaSorteada).getAgilidade();
}
public void sortear() {
// De acordo com a vida do player e a quantidade de cardis sorteara uma nova
// carta!
if (vida <= 0) { // se eu trocar o sinal de < para > irá entar no looping e criar varias cartas
card = r.nextInt(cardBatalha.size());
}
}
public void tick() {
sortear();
cartaSacada.card = card;
addAtributosP1();
// como c e statico nao preciso emvocar!!
//// cartaSacada.card = card; // Atualizar o valor de 'card' na clas Classe
}
public void render(Graphics g) {
// Renderiza a nova imagem associada à carta
g.drawImage(cartaAtual, (int) x, (int) y, width, height, null);
Font fonte = new Font("Arial Black", Font.PLAIN, 12);
g.setFont(fonte);
g.setColor(Color.YELLOW);
g.drawString("P1",(int)x+3,(int) y+13);
//
Graphics2D g2d = (Graphics2D) g.create();
// Definindo uma cor com transparência (canal alfa)
Color corComTransparencia = new Color(0, 0, 255, 50); // Azul com 50% de transparência (128 de 0 a 255)
// Definindo a cor do círculo como a cor com transparência
g2d.setColor(corComTransparencia);
// Desenhando um círculo com a cor e transparência especificadas
int diametro = 250;
g2d.fillOval((int) x-75, (int) y-75, diametro, diametro);
g2d.dispose();
}
//
}