Example #1
0
 public static function getActivePosition($tigerId, $goatId)
 {
     $game = GamePlay::where('tiger_user_id', $tigerId)->where('goat_user_id', $goatId)->first();
     $tigerPosition = json_decode($game['tiger_position'], true);
     $goatPosition = json_decode($game['goat_position'], true);
     $nextMove = $game['next_move'];
     $goat = false;
     $tiger = false;
     ${$nextMove} = true;
     $allActivePosition = (new Initiate())->insertAnimal($tigerPosition, new Tiger())->insertAnimal($goatPosition, new Goat())->setNextMove($tiger, $goat);
     return $allActivePosition;
 }
Example #2
0
 public function start(Request $request)
 {
     $tigerUserId = $request->input('tiger');
     $goatUserId = $request->input('goat');
     $initialTigerPosition = ['0,4', '0,0', '4,0', '4,4'];
     $initialGoatPosition = [];
     $allActivePosition = (new Initiate())->insertAnimal($initialTigerPosition, new Tiger())->insertAnimal($initialGoatPosition, new Goat())->setNextMove(false, true);
     $moves = (new Moves($allActivePosition))->generateAllowedMoves();
     $data = GamePlay::firstOrNew(['tiger_user_id' => $tigerUserId, 'goat_user_id' => $goatUserId]);
     $data->tiger_user_id = $tigerUserId;
     $data->goat_user_id = $goatUserId;
     $data->tiger_position = json_encode($initialTigerPosition);
     $data->goat_position = json_encode($initialGoatPosition);
     $data->next_move = 'goat';
     $data->save();
     Event::fire(new GameStarted($tigerUserId, $goatUserId, array_merge($allActivePosition->getLayout(), $moves)));
     //        return Response::json(array_merge($allActivePosition->getLayout(), $moves));
 }