/*
ALGORITMOS CULINARIOS
Combinando dos de mis pasiones: la programacion y la gastronomía.
Para todos aquellos que comparten ambos gustos e intentan hacer de cualquier actividad diaria un algoritmo.
*/
//Algoritmo #1 - Picante de pollo
//@author Telma Frege, 02/2010
class Ingrediente extends Alimento{ }
class Utensilio extends Herramienta{ }
class PicantePollo implements PlatosBolivianos{
private $nro_personas;
private $utensilios;
private $cocina;
private $estado;
const NRO_PORCIONES = 4;
//se asumen métodos gets and sets
private function PicantePollo($nro_personas=4){
$this->nro_personas = $nro_personas;
//receta para 4 personas
$this->radio = $nro_personas / NRO_PORCIONES;
}
private function prepararIngredientes(){
$pollo = new Ingrediente();
$pollo->setCantidad($cantidad=(4*$this->getRadio()), 'preza');
$tomate = new Ingrediente();
$tomate->setCantidad($cantidad=(1*$this->getRadio()), 'unidad');
$tomate->picar('cubitos');
$cebolla = new Ingrediente();
$cebolla->setCantidad($cantidad=(0.5*$this->getRadio()), 'unidad');
$cebolla->picar('cubitos');
$aji = new Ingrediente();
$aji->setCantidad($cantidad=(1*$this->getRadio()), 'cuchara');
$perejil = new Ingrediente();
$perejil->setCantidad($cantidad=(2*$this->getRadio()), 'cucharilla');
$perejil->picar();
$comino = new Ingrediente();
$comino->setCantidad($cantidad=(2*$this->getRadio()), 'cucharilla');
$sal = new Ingrediente();
$sal->setCantidad($cantidad=(0.5*$this->getRadio()), 'cucharilla');
$pimienta = new Ingrediente();
$pimienta->setCantidad($cantidad=(0.5*$this->getRadio()), 'cucharilla');
$agua = new Ingrediente();
$agua->setCantidad($cantidad=(2*$this->getRadio()), 'taza');
}
public function cocinar(){
$this->setEstado('cocinando');
$this->prepararIngredientes();
$olla = new Utensilio();
$olla->anadir($pollo);
$olla->anadir($comino);
$olla->anadir($sal);
$olla->anadir($pimienta);
$olla->anadir($aji);
$olla->anadir($perejil);
$olla->anadir($cebolla);
$olla->anadir($tomate);
$olla->anadir($agua);
$olla->ponerAHervir(90, 'minutos', 'fuego medio');
$this->prepararAcompanamientos();
$this->setEstado('listo');
}
private function prepararAcompanamientos(){
$arroz = new Ingrediente();
$arroz->setCantidad($cantidad=(1*$this->getRadio()), 'taza');
$this->cocinar($arroz, 'hervir', 20, 'minutos');
$papa = new Ingrediente();
$papa->setCantidad($cantidad=(4*$this->getRadio()), 'unidades', 'peladas');
$papa->cocinar($papa, 'hervir', 15, 'minutos');
$cebolla = new Ingrediente();
$cebolla->setCantidad($cantidad=(0.5*$this->getRadio()), 'unidad');
$cebolla->picar('juliana');
$tomate = new Ingrediente();
$tomate->setCantidad($cantidad=(1*$this->getRadio()), 'unidad');
$tomate->picar('juliana');
$ensalada = $this->mezclar($cebolla, $tomate);
}
public function servir(){ }
}
$cena_de_hoy = new Cena();
$plato = new PicantePollo($personas=8);
$plato->cocinar();
do{
esperar(5, 'minutos');
removerOlla();
}
while( $plato->getEstado() != 'listo' ));
//Manejo de excepciones
try{
$plato->servir();
$cerveza = new Taquina();
$cena_de_hoy->acompanarCon($plato, $cerveza);
}
catch(Exception e){
if(e.type == 'sabe mal'){
$telefono->pedirPizza();
}
}
Thursday, February 11, 2010
Subscribe to:
Posts (Atom)