Option Explicit
Sub Main
Dim Es,Es1,r1,r2,r3,r4,Fin,Ini,caso,clp
Dim a,b,c,d,e,f,p,dia1,dia2,pg,ul1,ul2
Dim s1,s2,s3,s4,s5,s6,cpg1,cpg2,rcpg1,rcpg2
Dim amb1(2),amb2(2),amb3(2),amb4(2),amb5(2),amb6(2)
Dim qua1(4),qua2(4),tris1,tris2,amb7(2),amb8(2),amb9(2)
Dim ruote(4),posta(2),poste(4)
Fin = EstrazioneFin
Ini = EstrazioneFin - 100
clp = 1
For Es = Ini To Fin
AvanzamentoElab Ini,Fin,Es
Es1 = Es + 1
For p = 1 To 5
For r1 = 1 To 9
For r2 = r1 + 1 To 10
For r3 = 1 To 11
If r3 = 11 Then r3 = 12
a = Estratto(Es,r1,p)
b = Estratto(Es,r2,p)
e = Estratto(Es,r3,p)
c = Estratto(Es1,r1,p)
d = Estratto(Es1,r2,p)
f = Estratto(Es1,r3,p)
s1 = Fuori90(a + b)
s2 = Fuori90(c + d)
dia1 = Fuori90(a + d)
dia2 = Fuori90(b + c)
If Distanza(a,c) = 10 And Distanza(b,d) = 10 Then 'Xor Distanza(a,d) = 10 And Distanza(b,c) = 10 Then
If e = s1 Or e = s2 Or e = dia1 Or e = dia2 Or f = s1 Or f = s2 Or f = dia1 Or f = dia2 Then
If a <> s1 And a <> s2 And a <> dia1 And a <> dia2 And b <> s1 And b <> s2 And b <> dia1 And b <> dia2 Then
If c <> s1 And c <> s2 And c <> dia1 And c <> dia2 And d <> s1 And d <> s2 And d <> dia1 And d <> dia2 Then
'CALCOLI PUNTO MEDIO
s3 = Fuori90(a + c)
s4 = s3 / 2
If Cadenza(s4) = Cadenza(a) Then
Else
s4 =(s3 + 90)/2
End If
If Cadenza(s4) = Cadenza(a) Then
'-----------------------------------------------
s5 = Fuori90(b + d)
s6 = s5 /2
If Cadenza(s6) = Cadenza(b) Then
Else
s6 =(s5 + 90)/2
End If
If Cadenza(s6) = Cadenza(b) Then
'-------------------------------------------------
If e = s1 Then cpg1 = a : cpg2 = b : rcpg1 = c : rcpg2 = d
If e = s2 Then cpg1 = c : cpg2 = d : rcpg1 = a : rcpg2 = b
If e = dia1 Then cpg1 = a : cpg2 = d : rcpg1 = b : rcpg2 = c
If e = dia2 Then cpg1 = b : cpg2 = c : rcpg1 = a : rcpg2 = d
'--------------------------------------------
If f = s1 Then cpg1 = a : cpg2 = b : rcpg1 = c : rcpg2 = d
If f = s2 Then cpg1 = c : cpg2 = d : rcpg1 = a : rcpg2 = b
If f = dia1 Then cpg1 = a : cpg2 = d : rcpg1 = b : rcpg2 = c
If f = dia2 Then cpg1 = b : cpg2 = c : rcpg1 = a : rcpg2 = d
If e = s1 Or e = s2 Or e = dia1 Or e = dia2 Then pg = e Else pg = f
tris1 = Fuori90(cpg1 * 3)
tris2 = Fuori90(cpg2 * 3)
ul1 = Fuori90(90 +(pg - tris1))
ul2 = Fuori90(90 +(pg - tris2))
caso = caso + 1
Scrivi String(100,("*")) & " Caso " & Format2(caso)
Scrivi("Estrazione n." & Format2(Es) & " del " & DataEstrazione(Es)),0,0
Scrivi " " & SiglaRuota(r1) & " " & StringaEstratti(Es,r1),2
Scrivi("Estrazione n." & Format2(Es) & " del " & DataEstrazione(Es)),0,0
Scrivi " " & SiglaRuota(r2) & " " & StringaEstratti(Es,r2),2
Scrivi
Scrivi("Estrazione n." & Format2(Es1) & " del " & DataEstrazione(Es1)),0,0
Scrivi " " & SiglaRuota(r1) & " " & StringaEstratti(Es1,r1),2
Scrivi("Estrazione n." & Format2(Es1) & " del " & DataEstrazione(Es1)),0,0
Scrivi " " & SiglaRuota(r2) & " " & StringaEstratti(Es1,r2),2
Scrivi
If e = s1 Or e = s2 Or e = dia1 Or e = dia2 Then
Scrivi("Estrazione n." & Format2(Es) & " del " & DataEstrazione(Es)),0,0
Scrivi " " & SiglaRuota(r3) & " " & StringaEstratti(Es,r3),2
Else
Scrivi("Estrazione n." & Format2(Es1) & " del " & DataEstrazione(Es1)),0,0
Scrivi " " & SiglaRuota(r3) & " " & StringaEstratti(Es1,r3),2
End If
Scrivi
Scrivi SiglaRuota(r1) & " " & Format2(a) & " [ Posizione " & Format2(p) & " ] ",0,0
Scrivi SiglaRuota(r2) & " " & Format2(b) & " [ Posizione " & Format2(p) & " ] "
Scrivi SiglaRuota(r1) & " " & Format2(c) & " [ Posizione " & Format2(p) & " ] ",0,0
Scrivi SiglaRuota(r2) & " " & Format2(d) & " [ Posizione " & Format2(p) & " ] "
Scrivi
Scrivi "Coppie Vert. " & Space(6) & " Somme Oriz" & Space(10) & " Somme diagon."
Scrivi " " & Format2(a) & Space(1) & Format2(b) & Space(16) & Format2(s1) & Space(19) & Format2(dia1)
Scrivi " " & Format2(c) & Space(1) & Format2(d) & Space(16) & Format2(s2) & Space(19) & Format2(dia2)
Scrivi
Scrivi " Coppia che ha generato la somma " & Format2(pg) & " --> " & Format2(cpg1) & " " & Format2(cpg2)
Scrivi " Punto medio tra " & Format2(a) & " e " & Format2(c) & " = " & Format2(s4)
Scrivi " Punto medio tra " & Format2(b) & " e " & Format2(d) & " = " & Format2(s6)
Scrivi
Scrivi
ruote(1) = r1
ruote(2) = r2
ruote(3) = r3
posta(2) = 1
amb1(1) = s4 : amb1(2) = a : amb2(1) = s4 : amb2(2) = c
amb3(1) = s6 : amb3(2) = b : amb4(1) = s6 : amb4(2) = d
amb5(1) = a : amb5(2) = c : amb6(1) = b : amb6(2) = d
qua1(1) = s4 : qua1(2) = s6 : qua1(3) = cpg1 : qua1(4) = cpg2
qua2(1) = s4 : qua2(2) = s6 : qua2(3) = rcpg1 : qua2(4) = rcpg2
amb7(1) = tris1 : amb7(2) = tris2
amb8(1) = tris1 : amb8(2) = ul1
amb9(1) = tris2 : amb9(2) = ul2
ImpostaGiocata 1,amb1,ruote,posta,clp
ImpostaGiocata 2,amb2,ruote,posta,clp
ImpostaGiocata 3,amb3,ruote,posta,clp
ImpostaGiocata 4,amb4,ruote,posta,clp
ImpostaGiocata 5,amb5,ruote,posta,clp
ImpostaGiocata 6,amb6,ruote,posta,clp
ImpostaGiocata 7,qua1,ruote,posta,clp
ImpostaGiocata 8,qua2,ruote,posta,clp
ImpostaGiocata 9,amb7,ruote,posta,clp
ImpostaGiocata 10,amb8,ruote,posta,clp
ImpostaGiocata 11,amb9,ruote,posta,clp
Gioca Es
End If
End If
End If
End If
End If
End If
Next
Next
Next
Next
If ScriptInterrotto Then Exit For
Next
ScriviResoconto
End Sub