예제 #1
0
 public static function get($idContest)
 {
     $concursantes = User::where('rol', 3)->get();
     $contest = array();
     foreach ($concursantes as $equipo) {
         $problemas = Scoreboard::getProblems($idContest, $equipo->id);
         $ans = (object) array('nombre' => $equipo->name, 'problemas' => $problemas, 'pena' => Scoreboard::getPenalizacion($equipo->id, $idContest), 'resueltos' => Scoreboard::getResueltos($idContest, $equipo->id));
         array_push($contest, $ans);
     }
     /* Ordenar Score */
     usort($contest, function ($a, $b) {
         if ($a->resueltos == $b->resueltos) {
             if ($a->pena == $b->pena) {
                 return 0;
             }
             return $a->pena < $b->pena ? -1 : 1;
         }
         return $a->resueltos >= $b->resueltos ? -1 : 1;
     });
     return $contest;
 }
예제 #2
0
 public function showScore($id)
 {
     $contest = Concurso::find($id);
     $problemas = $contest->problems()->get();
     $score = Scoreboard::get($id);
     return view('contest/score', ['contest' => $contest, 'num' => count($problemas), 'score' => $score]);
 }