Advertisement
Fallstar

Untitled

May 29th, 2015
253
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PL/SQL 0.90 KB | None | 0 0
  1. --23
  2. CREATE OR REPLACE FUNCTION performanceEloJoueurTournoi(p_idJoueur IN Joueurs.idJoueur%TYPE, p_idTournoi IN Tournois.idTournoi%TYPE) RETURN NUMBER IS
  3.     v_totEloAdv NUMBER;
  4.     v_cmp NUMBER;
  5.     v_eloAdv Joueurs.EloJoueur%TYPE;
  6. BEGIN
  7.     v_cmp := 0;
  8.     v_totEloAdv := 0;
  9.     FOR v_partie IN (SELECT * FROM Parties WHERE idTournoi = p_idTournoi AND (idJoueurBlancs = p_idJoueur OR idJoueurNoirs = p_idJoueur))
  10.     LOOP
  11.         IF couleurJoueurRonde(p_idJoueur, v_partie.idTournoi, v_partie.numRonde)='B' THEN
  12.             SELECT EloJoueur INTO v_eloAdv FROM Joueurs WHERE idJoueur = v_partie.idJoueurNoirs;
  13.             v_totEloAdv := v_totEloAdv + v_eloAdv;
  14.         ELSE
  15.             SELECT EloJoueur INTO v_eloAdv FROM Joueurs WHERE idJoueur = v_partie.idJoueurBlancs;
  16.             v_totEloAdv := v_totEloAdv + v_eloAdv;
  17.         END IF;
  18.         v_cmp := v_cmp + 1;
  19.     END LOOP;
  20.     RETURN ROUND(v_totEloAdv/v_cmp + (nbPointsJoueurTournoi(p_idjoueur, p_idTournoi)/v_cmp-0.5)*750);
  21. END;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement