Pegando um gancho na receita da Família de Obi-Allan Kenobi, tentei recriar esta em Java, como o mesmo havia dito, ficou um pouquinho grande, mas em relação ao entendimento acho que consegui manter o nível necessário para o propósito desse blog, tentei seguir as explicações originais da receita e construir a implementação desse delicioso prato típico, o Vatapá.
public class Pao {
private Double quantidade;
private Double dureza;
public Pao(Double quantidade, Double dureza) {
this.quantidade = quantidade;
this.dureza = dureza;
System.out.println(this.quantidade + " pães");
}
public Double getDureza() {
return dureza;
}
public void setDureza(Double dureza) {
this.dureza = dureza;
}
public Double getQuantidade() {
return quantidade;
}
public void setQuantidade(Double quantidade) {
this.quantidade = quantidade;
}
public Pao getPapaDePaoMole(){
System.out.println("amolecendo o pão com leite de côco");
LeiteCoco leiteCoco = new LeiteCoco(this.quantidade);
leiteCoco.amolecerPao(this);
return this;
}
}
public class LeiteCoco {
private Double quantidade;
public LeiteCoco(Double quantidadePao) {
this.quantidade = quantidadePao/5;
System.out.println(this.quantidade + " litro(s) de leite de côco");
}
public Double getQuantidade() {
return quantidade;
}
public void setQuantidade(Double quantidade) {
this.quantidade = quantidade;
}
public void amolecerPao(Pao pao){
Double dureza = pao.getDureza();
System.out.println("o pão já está quase amolecido...");
while(dureza > 0.2){
dureza -= 0.25;
pao.setDureza(dureza);
}
System.out.println("o pão já está pronto, mais mole que isso vai virar sopa hehehe");
}
}
public class Cebola {
private Double quantidade;
private Double partes;
public Cebola(Double quantidadePao) {
this.quantidade = (quantidadePao*2)/5;
this.partes = quantidade;
System.out.println(this.quantidade + " Cebolas");
}
public Double getQuantidade() {
return quantidade;
}
public void setQuantidade(Double quantidade) {
this.quantidade = quantidade;
}
private void cortarCebola(){
System.out.println("Cortando as Cebolas");
while((this.partes/this.quantidade) < 25){
this.partes *= 2;
}
System.out.println("Cebolas prontas e bem cortadas");
}
public Cebola getCebolaCortada(){
cortarCebola();
return this;
}
}
public class Alho {
private Double quantidade;
private Double partes;
public Alho(Double quantidadePao) {
this.quantidade = (quantidadePao*6)/5;
this.partes = quantidade;
System.out.println(this.quantidade + " Alhos");
}
public Double getQuantidade() {
return quantidade;
}
public void setQuantidade(Double quantidade) {
this.quantidade = quantidade;
}
private void cortarAlho(){
System.out.println("Cortando os Alhos");
while((this.partes/this.quantidade) < 4){
this.partes *= 2;
}
System.out.println("Alhos prontos e bem cortados");
}
public Alho getAlhoCortado(){
cortarAlho();
return this;
}
}
public class CamaraoSeco {
private Double quantidade;
private Boolean descascado = false;
public CamaraoSeco(Double quantidadePao) {
this.quantidade = (quantidadePao*250)/5;
System.out.println(this.quantidade + " Gramas de Camarão seco");
}
public Double getQuantidade() {
return quantidade;
}
public void ajustarQuantidadeProporcional() {
this.quantidade = (this.quantidade*100)/250;
System.out.println("dessa segunda porção precisaremos apernas de " +this.quantidade + " Gramas para ser adicionados depois");
}
public void setQuantidade(Double quantidade) {
this.quantidade = quantidade;
}
public Boolean getDescascado() {
return descascado;
}
public void setDescascado(Boolean descascado) {
this.descascado = descascado;
}
public void descascarCamaraoSeco(){
System.out.println("Descascando o Camarão seco");
this.descascado = true;
System.out.println("Camarão seco descascado e pronto para usar");
}
}
public class Amendoim {
private Double quantidade;
private Boolean torrado = false;
public Amendoim(Double quantidadePao) {
this.quantidade = (quantidadePao*250)/5;
System.out.println(this.quantidade + " Gramas de Amendoim");
}
public Double getQuantidade() {
return quantidade;
}
public void setQuantidade(Double quantidade) {
this.quantidade = quantidade;
}
public Boolean getTorrado() {
return torrado;
}
public void setTorrado(Boolean torrado) {
this.torrado = torrado;
}
public void torrarAmendoim(){
System.out.println("Torrando o Amendoim");
this.torrado = true;
System.out.println("Amendoim torrado e pronto para usar");
}
}
public class CastanhaCaju {
private Double quantidade;
private Boolean torrado = false;
public CastanhaCaju(Double quantidadePao) {
this.quantidade = (quantidadePao*250)/5;
System.out.println(this.quantidade + " Gramas de Castanha de Caju");
}
public Double getQuantidade() {
return quantidade;
}
public void setQuantidade(Double quantidade) {
this.quantidade = quantidade;
}
public Boolean getTorrado() {
return torrado;
}
public void setTorrado(Boolean torrado) {
this.torrado = torrado;
}
public void torrarCastanhaCaju(){
System.out.println("Torrando a Castanha do Caju");
this.torrado = true;
System.out.println("Castanha do Caju torrada e pronta para usar");
}
}
public class AzeiteDende {
private Double quantidade;
public Double temperatura = 16.0;
public Boolean muitoQuente = false;
public AzeiteDende(Double quantidadePao) {
this.quantidade = (quantidadePao*1.5)/5;
System.out.println(this.quantidade + " litro(s) de Azeite de Dendê");
}
public Double getQuantidade() {
return quantidade;
}
public void setQuantidade(Double quantidade) {
this.quantidade = quantidade;
}
}
public class Gengibre {
private Double quantidade;
private Boolean ralado = false;
public Gengibre(Double quantidade) {
this.quantidade = quantidade;
System.out.println(this.quantidade + " Gramas de Gengibre (esta medida é a gosto)");
}
public Double getQuantidade() {
return quantidade;
}
public void setQuantidade(Double quantidade) {
this.quantidade = quantidade;
}
public void ralarGengibre(){
System.out.println("Ralando o Gengibre");
this.ralado = true;
System.out.println("Gengibre ralado e pronto para usar");
}
}
public class Sal {
private Double quantidade;
public Sal(Double quantidade) {
this.quantidade = quantidade;
System.out.println(this.quantidade + " Gramas de Sal (esta medida é a gosto)");
}
public Double getQuantidade() {
return quantidade;
}
public void setQuantidade(Double quantidade) {
this.quantidade = quantidade;
}
}
public class Liquidificador {
public Liquidificador() {
System.out.println("Ligando o Liquidificador...");
}
public Massa baterMassa(Pao pao, Cebola cebola, Alho alho, CamaraoSeco camaraoSeco, Amendoim amendoim, CastanhaCaju caju, Gengibre gengibre, Sal sal){
System.out.println("batendo a massa...");
return new Massa(pao, cebola, alho, camaraoSeco, amendoim, caju, gengibre, sal);
}
}
public class Massa {
String situacaoDaMassa = "";
Double ponto = 2.0;
public Massa(Pao pao, Cebola cebola, Alho alho, CamaraoSeco camaraoSeco, Amendoim amendoim, CastanhaCaju caju, Gengibre gengibre, Sal sal) {
this.situacaoDaMassa = "Massa em fase de preparação!!!";
}
public String getSituacaoDaMassa() {
return situacaoDaMassa;
}
public void setSituacaoDaMassa(String situacaoDaMassa) {
this.situacaoDaMassa = situacaoDaMassa;
}
public Double getPonto() {
return ponto;
}
public void setPonto(Double ponto) {
this.ponto = ponto;
}
}
public class PanelaGrande {
public PanelaGrande() {
System.out.println("Colaca a panela no fogo");
}
public void esquentarAzeiteDende(AzeiteDende azeiteDende){
System.out.println("Esquentando o Azeite de Dendê");
while(!azeiteDende.muitoQuente){
if(azeiteDende.temperatura > 90){// heheh
azeiteDende.muitoQuente = true;
System.out.println("Azeite de Dendê ja está no ponto, agora joga a massa p dentro da panela hhehe... aos poucos é claro");
}
azeiteDende.temperatura += 2.5;
}
}
public void colocarMassaAosPoucos(Massa massa){
System.out.println("colocando a massa, aos poucos, e mexendo a gororoba que formou hehehehe");
}
public void colocarCamaraoDescascado(CamaraoSeco camaraoSeco){
System.out.println("agora adicionado mais "+camaraoSeco.getQuantidade()+" de camarao seco descascado... deve tar um cheiro só kkkkkkkkkkkkkkkkkkk");
}
public void etapasFinais(Massa massa){
System.out.println("Continue mexendo até que a mistura solte, sem dificuldades, da panela.");
Double ponto = massa.getPonto();
while(ponto < 10){
ponto += 1;
massa.setPonto(ponto);
if(ponto == 8){
System.out.println("Já está quase no ponto, mexa só mais um pouquinho.");
}
}
massa.setSituacaoDaMassa("vatapa Pronto");
System.out.println(massa.getSituacaoDaMassa());
}
}
public class Vatapa {
public static void main(String[] args) {
System.out.println("\n\n iniciando o preparo do vatapá\n\n");
Pao pao = new Pao(5.0,2.3);
pao = pao.getPapaDePaoMole();
Cebola cebola = new Cebola(pao.getQuantidade());
Alho alho = new Alho(pao.getQuantidade());
CamaraoSeco camaraoSeco = new CamaraoSeco(pao.getQuantidade());
CamaraoSeco camaraoSecoDescascado = new CamaraoSeco(pao.getQuantidade());
camaraoSecoDescascado.ajustarQuantidadeProporcional();
camaraoSecoDescascado.descascarCamaraoSeco();
Amendoim amendoim = new Amendoim(pao.getQuantidade());
amendoim.torrarAmendoim();
CastanhaCaju castanhaCaju = new CastanhaCaju(pao.getQuantidade());
castanhaCaju.torrarCastanhaCaju();
AzeiteDende azeiteDende = new AzeiteDende(pao.getQuantidade());
Gengibre gengibre = new Gengibre(5.0);
gengibre.ralarGengibre();
Sal sal = new Sal(5.0);
Liquidificador liquidificador = new Liquidificador();
Massa massa = liquidificador.baterMassa(pao, cebola, alho, camaraoSeco, amendoim, castanhaCaju, gengibre, sal);
PanelaGrande panelaGrande = new PanelaGrande();
panelaGrande.esquentarAzeiteDende(azeiteDende);
panelaGrande.colocarMassaAosPoucos(massa);
panelaGrande.colocarCamaraoDescascado(camaraoSecoDescascado);
panelaGrande.etapasFinais(massa);
}
}
Allan, espero ter mantido a mesma qualidade da receita de sua familia e aproveitando o embalo, só falta agora vc convidar a galera pra esperimentar este prato, pois não tenho dúvida que todos ficamos com agua na boca so em ler esta receita hehehe...
"editado"
...quem enxergar alguma melhoria para o código acho interessante a postagem da mesma, o blog agradece.
download do código fonte