Ejemplo n.º 1
0
 /**
  * Evolution of beans and utility function in the game
  *
  * @param ObjectManager $em
  * @param int $user_id
  * @param Partida $partida
  * @return array
  */
 public function partidaEvolution($em, $user_id, $partida)
 {
     $userPartidaLogic = new UserPartidaLogic();
     $ofertasPartida = array();
     //ofertas aceptadas en una partida (tanto de las enviadas como recividas)
     $ofertas = $em->getRepository('BaseBundle:Ofertas')->findAllUserGameDeals($user_id, $partida->getId());
     foreach ($ofertas as $oferta) {
         /** @var Ofertas $oferta */
         //calcular alubias en funcion de si oferta enviada o recibida
         if ($oferta->getIdCreador()->getId() == $user_id) {
             $tmp = $userPartidaLogic->beansStatus($oferta, 1);
         } else {
             $tmp = $userPartidaLogic->beansStatus($oferta, 2);
         }
         $tmp['modificado'] = $oferta->getModificado();
         array_push($ofertasPartida, $tmp);
     }
     /** @var UserPartida $userpartida */
     $userpartida = $em->getRepository('BaseBundle:UserPartida')->findByIDS($user_id, $partida->getId());
     $evolucion = array();
     $a_rojas_tmp = $userpartida->getAluRojaInicial();
     $a_blancas_tmp = $userpartida->getAluBlancaInicial();
     foreach ($ofertasPartida as $oferta) {
         $oferta['aluRoja'] += $a_rojas_tmp;
         $oferta['aluBlanca'] += $a_blancas_tmp;
         $oferta['fUtilidad'] = $this->calculateFUtilidad($oferta['aluRoja'], $oferta['aluBlanca'], $partida);
         $a_blancas_tmp = $oferta['aluBlanca'];
         $a_rojas_tmp = $oferta['aluRoja'];
         array_push($evolucion, $oferta);
     }
     return $evolucion;
 }
Ejemplo n.º 2
0
 /**
  * Initializes variables to mock an Entity
  */
 protected function mock()
 {
     $this->emMod = $this->getMockBuilder('\\Doctrine\\Common\\Persistence\\ObjectManager')->disableOriginalConstructor()->getMock();
     $this->repository = $this->getMockBuilder('\\Doctrine\\ORM\\EntityRepository')->disableOriginalConstructor()->getMock();
     $this->now = new \DateTime('now');
     $this->user = $this->em->getRepository('BaseBundle:User')->find(2);
     /*mokear una partida*/
     $this->partida = new Partida();
     $this->partida->setAluPorUsuario(20)->setRatio(0.5)->setCreado($this->now)->setFin($this->now->add(new DateInterval('P10D')))->setMaxJugadores(10)->setNombre('test1?A')->setPassword('test')->setExpY(1)->setExpZ(1);
     $this->partida->setIdCreador($this->user)->setMaxOfertas(2)->setTiempoOferta(10);
     /*mokear una oferta*/
     $this->oferta = new Ofertas();
     $this->oferta->setCreado($this->now)->setEstado(0)->setAluBlancaIn(10)->setAluBlancaOut(0)->setAluRojaIn(0)->setAluRojaOut(6)->setIdCreador($this->user)->setIdDestinatario($this->user)->setIdPartida($this->partida);
     /*mokear un log*/
     $this->log = new Log();
     $this->log->setUser($this->user)->setActionId(5)->setFecha($this->now);
 }