/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package banco_imobiliario.model;
import banco_imobiliario.control.ControladorBancoImobiliario;
/**
*
* @author alessandro
*/
public class Imovel extends CasaDePropriedade {
private Integer id;
private Integer aluguel;
private Integer aluguelUmaCasa;
private Integer aluguelDuasCasas;
private Integer aluguelTresCasas;
private Integer aluguelQuatroCasas;
private Integer aluguelHotel;
private Integer precoConstrucaoHotel;
private Integer precoConstrucaoResidencia;
private int qtdResidencias = 0;
private String imgHotel;
private String imgCasa;
public Imovel() {
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getImgCasa() {
return imgCasa;
}
public void setImgCasa(String imgCasa) {
this.imgCasa = imgCasa;
}
public String getImgHotel() {
return imgHotel;
}
public void setImgHotel(String imgHotel) {
this.imgHotel = imgHotel;
}
public Integer getAluguel() {
return aluguel;
}
public void setAluguel(Integer aluguel) {
this.aluguel = aluguel;
}
public Integer getAluguelDuasCasas() {
return aluguelDuasCasas;
}
public void setAluguelDuasCasas(Integer aluguelDuasCasas) {
this.aluguelDuasCasas = aluguelDuasCasas;
}
public Integer getAluguelHotel() {
return aluguelHotel;
}
public void setAluguelHotel(Integer aluguelHotel) {
this.aluguelHotel = aluguelHotel;
}
public Integer getAluguelQuatroCasas() {
return aluguelQuatroCasas;
}
public void setAluguelQuatroCasas(Integer aluguelQuatroCasas) {
this.aluguelQuatroCasas = aluguelQuatroCasas;
}
public Integer getAluguelTresCasas() {
return aluguelTresCasas;
}
public void setAluguelTresCasas(Integer aluguelTresCasas) {
this.aluguelTresCasas = aluguelTresCasas;
}
public Integer getAluguelUmaCasa() {
return aluguelUmaCasa;
}
public void setAluguelUmaCasa(Integer aluguelUmaCasa) {
this.aluguelUmaCasa = aluguelUmaCasa;
}
public Integer getPrecoConstrucaoHotel() {
return precoConstrucaoHotel;
}
public void setPrecoConstrucaoHotel(Integer precoConstrucaoHotel) {
this.precoConstrucaoHotel = precoConstrucaoHotel;
}
public Integer getPrecoConstrucaoResidencia() {
return precoConstrucaoResidencia;
}
public void setPrecoConstrucaoResidencia(Integer precoConstrucaoResidencia) {
this.precoConstrucaoResidencia = precoConstrucaoResidencia;
}
public void construirResidencia(Jogador jogador, int quantidade) {
if (qtdResidencias + quantidade < 5) {
if (jogador.debitar(quantidade * precoConstrucaoResidencia)) {
qtdResidencias += quantidade;
}
} else if (qtdResidencias == 4) {
if (jogador.debitar(precoConstrucaoHotel)) {
qtdResidencias++;
}
}
}
public void pagarAluguel(Jogador jogadorProprietario, Jogador jogadorRodada) {
if (jogadorRodada.verificaDinheiro(aluguel)) {
jogadorRodada.debitar(aluguel);
jogadorProprietario.creditar(aluguel);
}
}
public void pagarAluguelUmaCasa(Jogador jogadorProprietario, Jogador jogadorRodada) {
if (jogadorRodada.verificaDinheiro(aluguelUmaCasa)) {
jogadorRodada.debitar(aluguelUmaCasa);
jogadorProprietario.creditar(aluguelUmaCasa);
}
}
public void pagarAluguelDuasCasas(Jogador jogadorProprietario, Jogador jogadorRodada) {
if (jogadorRodada.verificaDinheiro(aluguelDuasCasas)) {
jogadorRodada.debitar(aluguelDuasCasas);
jogadorProprietario.creditar(aluguelDuasCasas);
}
}
public void pagarAluguelTresCasas(Jogador jogadorProprietario, Jogador jogadorRodada) {
if (jogadorRodada.verificaDinheiro(aluguelTresCasas)) {
jogadorRodada.debitar(aluguelTresCasas);
jogadorProprietario.creditar(aluguelTresCasas);
}
}
public void pagarAluguelQuatroCasas(Jogador jogadorProprietario, Jogador jogadorRodada) {
if (jogadorRodada.verificaDinheiro(aluguelQuatroCasas)) {
jogadorRodada.debitar(aluguelQuatroCasas);
jogadorProprietario.creditar(aluguelQuatroCasas);
}
}
public void pagarAluguelHotel(Jogador jogadorProprietario, Jogador jogadorRodada) {
if (jogadorRodada.verificaDinheiro(aluguelHotel)) {
jogadorRodada.debitar(aluguelHotel);
jogadorProprietario.creditar(aluguelHotel);
}
}
@Override
public void atingida(Jogador jogadorDaRodada) {
System.out.println(getProprietario());
if (getProprietario() == null) {
ControladorBancoImobiliario control = ControladorBancoImobiliario.getInstancia();
control.comprarLogradouro(this);
}else{
//Se possuir proprietario
if (qtdResidencias == 0) {
pagarAluguel(getProprietario(), jogadorDaRodada);
} else if (qtdResidencias == 1) {
pagarAluguelUmaCasa(jogadorDaRodada, jogadorDaRodada);
} else if (qtdResidencias == 2) {
pagarAluguelDuasCasas(jogadorDaRodada, jogadorDaRodada);
} else if (qtdResidencias == 3) {
pagarAluguelTresCasas(jogadorDaRodada, jogadorDaRodada);
} else if (qtdResidencias == 4) {
pagarAluguelQuatroCasas(jogadorDaRodada, jogadorDaRodada);
} else if (qtdResidencias == 5) {
pagarAluguelHotel(jogadorDaRodada, jogadorDaRodada);
}
}
}
}