io ed un mio amico abbiamo fatto cosi

è abbastanza semplice e questo script ti genera solo l'andata..

basta eseguirlo due volte o mettere due campi nel db in mofo che il sistema svolga il match due volte ed è apposto


par = npartecipanti-1
tur = (npartecipanti/2)-1
Execute "dim ruota("&npartecipanti&")"



t = 0
for aaa = 0 to par-1
t = t +1
response.Write("
<table width=""400"" border=""1"">")
For i = 0 to tur
response.Write("<tr><td>"&partecipanti(i)&"("&i&") </td><td> "&t&" </td><td>"&partecipanti(par-i)&"("&par-i&")</td></tr>")
Conn.Execute("INSERT Lega_turni SET id_Lega ="&Request("Lega")&", turno = "&t&", partecipante1 = '"&partecipanti(i)&"', partecipante2 = '"&partecipanti(par-i)&"'")

Next
response.Write("</table>")
Call ruota_array

next

Sub ruota_array()
dim tempo
tempo = partecipanti(1)
for b = 1 to par-1
partecipanti(b) = partecipanti(b+1)
next
partecipanti(par) = tempo
End Sub

io lo uso con leghe da 300 squadre..
unico problema ^^
ho dovuto evitare di fargli stampare le giornate tutte assieme ^^ altrimenti si saturava il buffer..

cmq è molto semplice come gli algoritmi di generazione dei calendari una resta ferma e le altre squadre ruotano generando cosi il calendario