package oo.projeto.modelo;

import javax.swing.*;

import java.awt.*;
import java.awt.event.KeyEvent;


@SuppressWarnings("serial")
public class Usuario extends JComponent {
	
	@SuppressWarnings("unused")
	private Territorio territorio;
	private Color cor;
	private int vida = 0;
	private int x = 50;
	private int y = 40;
	private int altura = 20;
	private int largura = 20;
	
	public Usuario(Color cor, Territorio territorio) {
		this.cor = cor;
		this.territorio = territorio;
		x = 180; 
		y = 110;
	}
	
	public void paint(Graphics g) {
		Graphics2D g2d = (Graphics2D) g; // compatibilidade com a AWT
		g2d.setColor(cor);
		g2d.fillRect(x, y, largura, altura); // desenha um retângulo
		g2d.setColor(Color.WHITE); // define a cor em uso
		g2d.setFont(new Font("Verdana", Font.BOLD, 16)); // define a fonte em uso
		g2d.drawString(String.valueOf(vida), (x+4), (y+17));
	}

	public void keyPressed(KeyEvent e) {
		Dimension d = territorio.getSize();
	
		switch(e.getKeyCode()) {
			case KeyEvent.VK_LEFT: { 
				if((x-5) >=0 ) {
					x = x - 5; break;				
				}else {
					x = 0;break;
				}
			}
			case KeyEvent.VK_RIGHT: {
				if(((x+largura)+5) <=d.width ) {
					x = x + 5; break;				
				}else {
					x = d.width;break;
				}
			}
			case KeyEvent.VK_UP: {
				if((y - 5) >=0 ) {
					y = y - 5; break;				
				}else {
					y = 0;break;
				}
			}
			case KeyEvent.VK_DOWN: {
				
				if(((y+altura) + 5) <=d.height ) {
					y = y + 5; break;				
				}else {
					y = d.height;break;
				}
				
			}
		}
	}

	public int getX() {
		return x;
	}

	public int getY() {
		return y;
	}
	
	public int getAltura() {
		return altura;
	}
	public int getLargura() {
		return largura;
	}

	public void come() {
		
	}

	
	
}
