/**
  * Create a new event instance.
  *
  * @return void
  */
 public function __construct($user_id, $game_id)
 {
     $user = \App\Models\User::find($user_id);
     $game_user = \App\Models\Game_User::where('user_id', $user_id)->where('game_id', $game_id)->first();
     $game_user['has_left'] = true;
     $game_user->save();
     $game_users = \App\Models\Game_User::where('game_id', $game_id)->get();
     $cont = 0;
     foreach ($game_users as $game_user) {
         if ($game_user['has_left']) {
             $cont++;
         }
     }
     $user_list = \App\Models\Game_User::where('game_id', $game_id)->get();
     $msg = 'El jugador ' . $user->first_name . ' se ha rendido';
     if ($cont == count($user_list) - 1) {
         $winner = \App\Models\Game_User::where('has_left', '=', false)->where('game_id', $game_id)->first();
         $winner['has_won'] = true;
         $winner->save();
         $winner_name = \App\Models\User::find($winner['user_id']);
         $msg .= ', y El jugador ' . $winner_name->first_name . ' ha ganado';
     }
     $games = \App\Models\Game_User::where('game_id', $game_id)->where('user_id', $user_id)->first();
     if (!$games['has_left']) {
         $letters_user = \App\Models\Letter_User::where('game_id', '=', $game_id)->where('user_id', $user_id)->get(['letter_id']);
         foreach ($letters_user as $key) {
             $user_letters_save = \App\Models\Inventory_Letter_Game::where('game_id', $game_id)->where('letter_id', $key->letter_id)->first();
             $user_letters_save->quantity++;
             $user_letters_save->save();
         }
     }
     $this->data = ['game_id' => $game_id, 'msg' => $msg];
 }
 /**
  * Create a new event instance.
  *
  * @return void
  */
 public function __construct($user_id, $game_id)
 {
     $user = \App\Models\User::find($user_id);
     $game_users = \App\Models\Game_User::where('game_id', $game_id)->where('has_left', 0)->get();
     for ($i = 0; $i < $game_users->count(); $i++) {
         if ($game_users[$i]['user_id'] == $user_id) {
             $game_users[$i]['have_turn'] = false;
             $game_users[$i]['cons_turn'] = true;
             $game_users[$i]->save();
             if ($i + 1 == $game_users->count()) {
                 $game_users[0]['have_turn'] = true;
                 $game_users[0]->save();
             } else {
                 $game_users[$i + 1]['have_turn'] = true;
                 $game_users[$i + 1]->save();
             }
         }
     }
     $msg = 'El jugador ' . $user->first_name . ' paso turno.';
     $cont = 0;
     foreach ($game_users as $key) {
         if ($key->cons_turn) {
             $cont++;
         }
     }
     if ($cont == $game_users->count()) {
         $game = \App\Models\Game::find($game_id);
         $game->ended = true;
         $game->save();
         $msg = 'El juego a terminado.';
     }
     $this->data = ['game_id' => $game_id, 'msg' => $msg];
 }
 /**
  * Create a new event instance.
  *
  * @return void
  */
 public function __construct($game_id, $order, $user_id, $need_join)
 {
     if ($need_join) {
         $values = ['game_id' => $game_id, 'order' => $order, 'user_id' => $user_id, 'have_turn' => 0];
         if ($order == 0) {
             $values['have_turn'] = 1;
         }
         \App\Models\Game_User::create($values);
         $user = \App\Models\User::find($user_id);
         $this->data = ['game_id' => $game_id, 'user' => $user];
     }
 }
 public static function has_winner($game_id)
 {
     $games = \App\Models\Game_User::where('game_id', $game_id)->get();
     foreach ($games as $key) {
         if ($key['has_won']) {
             return true;
         }
     }
     return false;
 }
 public static function cleanConsTurn($game_id)
 {
     $game_users = \App\Models\Game_User::where('game_id', $game_id)->where('has_left', 0)->get();
     foreach ($game_users as $key) {
         $key->cons_turn = false;
         $key->save();
     }
 }