Beispiel #1
0
 /**
  * Define quién es el próxima que juega, según las reglas del Truco
  * Primero juega el jugador mano, luego el que hay matado la última ronda.
  * Si empardaron juega le jugador mano. Sino juega el jugador que aún resta
  * jugar 
  */
 public function quienJuega()
 {
     $jugadorMano = $this->_agente->esMano() ? $this->_agente : $this->_humano;
     if ($this->_mano->esNueva()) {
         $jugador = $jugadorMano;
     } else {
         if (count($this->_mano->darCartasAgente()) > count($this->_mano->darCartasHumano())) {
             $jugador = $this->_humano;
         } elseif (count($this->_mano->darCartasAgente()) < count($this->_mano->darCartasHumano())) {
             $jugador = $this->_agente;
         } else {
             $ultimaCartaHumano = $this->_mano->darUltimaCartaHumano();
             $ultimaCartaAgente = $this->_mano->darUltimaCartaAgente();
             if ($ultimaCartaHumano->valor() > $ultimaCartaAgente->valor()) {
                 $jugador = $this->_humano;
             } elseif ($ultimaCartaHumano->valor() < $ultimaCartaAgente->valor()) {
                 $jugador = $this->_agente;
             } else {
                 $jugador = $jugadorMano;
             }
         }
     }
     return $jugador;
 }