/** * 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; }