JeuWeb - Crée ton jeu par navigateur
Implémentation d'un "round robin schedule tournament" - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : Implémentation d'un "round robin schedule tournament" (/showthread.php?tid=1603)



Implémentation d'un "round robin schedule tournament" - popayan - 05-10-2010

Bonjour,

j'aimerais avoir votre avis sur mon code.
l'algo est décris ici. pourquoi celui-là? C'est le seul (compréhensible) que j'ai trouvé avec une gestion d'alternance entre match joué à domicile et à l'extérieur

voici mon code:

require 'pp'

def tournament(teams)
games = []
team_last_save = teams.last

#première journée
days = []
1.upto(teams.size/2) do |match|
days << [teams.slice!(0), teams.pop]

end
games << days
teams = days.flatten

#autres journées
1.upto(teams.size-2) do |day|
days = []
team1 = teams.pop
team2 = team_last_save
teams.delete(team2)
if (day%2==0)
days << [team1, team2]
else
days << [team2, team1]
end
(teams.size).downto(0) do |i|
if i%2 != 0
days << [teams[i-1], teams[i]]
end
end

games << days
teams = days.flatten
end
games
end

teams = [1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12]
pp tournament(teams)

je suis encore en cours de relecture mais, déjà, ca fonctionne pas mal Smile


RE: Implémentation d'un "round robin schedule tournament" - popayan - 11-10-2010

un peu décu de ne pas avoir un petit commentaire sur ce code... j'aurais bien aimé avoir un point de vue externe.


RE: Implémentation d'un "round robin schedule tournament" - Sephi-Chan - 11-10-2010

C'est un peu brut de décoffrage livré comme ça (surtout quand on n'a jamais regardé ce genre d'algo). :p


Mais puisque tu y tiens :


# Ceci :
teams = [1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12]

# Peut-être remplacé par l'une des deux alternatives suivantes :
teams = (1..12).to_a
teams = 1.upto(12).to_a


Sephi-Chan


RE: Implémentation d'un "round robin schedule tournament" - popayan - 11-10-2010

merci d'avoir regarder en tout cas Smile
pour le commentaire, c'est dommage, le tableau teams est juste ici pour faire un exemple. Dans le jeu que je commence à coder, ce tableau est rempli via une requête...