Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --23
- CREATE OR REPLACE FUNCTION performanceEloJoueurTournoi(p_idJoueur IN Joueurs.idJoueur%TYPE, p_idTournoi IN Tournois.idTournoi%TYPE) RETURN NUMBER IS
- v_totEloAdv NUMBER;
- v_cmp NUMBER;
- v_eloAdv Joueurs.EloJoueur%TYPE;
- BEGIN
- v_cmp := 0;
- v_totEloAdv := 0;
- FOR v_partie IN (SELECT * FROM Parties WHERE idTournoi = p_idTournoi AND (idJoueurBlancs = p_idJoueur OR idJoueurNoirs = p_idJoueur))
- LOOP
- IF couleurJoueurRonde(p_idJoueur, v_partie.idTournoi, v_partie.numRonde)='B' THEN
- SELECT EloJoueur INTO v_eloAdv FROM Joueurs WHERE idJoueur = v_partie.idJoueurNoirs;
- v_totEloAdv := v_totEloAdv + v_eloAdv;
- ELSE
- SELECT EloJoueur INTO v_eloAdv FROM Joueurs WHERE idJoueur = v_partie.idJoueurBlancs;
- v_totEloAdv := v_totEloAdv + v_eloAdv;
- END IF;
- v_cmp := v_cmp + 1;
- END LOOP;
- RETURN ROUND(v_totEloAdv/v_cmp + (nbPointsJoueurTournoi(p_idjoueur, p_idTournoi)/v_cmp-0.5)*750);
- END;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement