'PROGETTO - METODO CICLOMETRICO - Chiesto da Matematico
'SCRIPT BY SALVO50
Option Explicit
Sub Main
Dim FIn,Es,Clp1,Salvo50,Ini,E1,E2
Dim R1,R2,P1,P2,P3,P4,P,PP,A,B,C,D
Dim Dist1,Dist2,Caso,Casi
Dim Sac,Sbd,Sad,Sbc,SSd,Clp2
Dim DsdA,DsdB,DsdC,DadA,DadB
Dim DadC,DacA,DacB,DacC,Poste(4)
Dim Num1(3),Num2(9),Ruote(2),Posta(2)
FIn = EstrazioneFin
Ini = InputBox("Inserisci l'estrazione che vuoi iniziare",,9442)
Clp1 = InputBox("Per quanti colpi vuoi giocare la terzina?",Salvo50,5)
Clp2 = CInt(InputBox(" Per quanti colpi vuoi giocare la novina?",,5))
Call ScegliRange(Ini,FIn,Ini,EstrazioneFin)
Posta(1) = 1
Posta(2) = 1
Poste(3) = 1
Poste(4) = 1
For Es = Ini To FIn
Messaggio Es
AvanzamentoElab Ini,FIn,Es
Caso = 0
For R1 = 1 To 9
For P1 = 1 To 4
For P2 = P1 + 1 To 5
A = Estratto(Es,R1,P1)
B = Estratto(Es,R1,P2)
Dist1 = Distanza(A,B)
If Dist1 = 45 Then
For R2 = R1 + 1 To 10
For P3 = 1 To 4
For P4 = P3 + 1 To 5
C = Estratto(Es,R2,P3)
D = Estratto(Es,R2,P4)
Dist2 = Distanza(C,D)
If Dist2 = 45 Then
Sac = Fuori90(A + C) : Sbd = Fuori90(B + D) : Sad = Fuori90(A + D) : Sbc = Fuori90(B + C)
If Sac = Sbd And Sad = Sbc Then
SSd = Fuori90(Sad + Sbc)
If SSd <> Sad And SSd <> Sac And Sad <> Sac Then
If SSd < 31 Then DsdA = SSd : DsdB = SSd + 30 : DsdC = SSd + 60
If SSd > 30 And SSd < 61 Then DsdA = SSd - 30 : DsdB = SSd : DsdC = SSd + 30
If SSd > 60 Then DsdA = SSd - 60 : DsdB = SSd - 30 : DsdC = SSd
'
If Sad < 31 Then DadA = Sad : DadB = Sad + 30 : DadC = Sad + 60
If Sad > 30 And Sad < 61 Then DadA = Sad - 30 : DadB = Sad : DadC = Sad + 30
If Sad > 60 Then DadA = Sad - 60 : DadB = Sad - 30 : DadC = Sad
'
If Sac < 31 Then DacA = Sac : DacB = Sac + 30 : DacC = Sac + 60
If Sac > 30 And Sac < 61 Then DacA = Sac - 30 : DacB = Sac : DacC = Sac + 30
If Sac > 60 Then DacA = Sac - 60 : DacB = Sac - 30 : DacC = Sac
Caso = Caso + 1
Casi = Casi + 1
ColoreTesto 2
Scrivi String(89,"*") & " Casi Totali " & FormattaStringa(Casi,"0000")
ColoreTesto 1
Scrivi String(80,"*") & " Estrazione " &(Es) & " caso " & FormattaStringa(Caso,"0000")
ColoreTesto 0
Scrivi(" Estrazione n." & Format2(Es) & " del " & DataEstrazione(Es)),1,0
Scrivi " " & SiglaRuota(R1) & " ",1,0
For P = 1 To 5
E1 = Estratto(Es,R1,P)
If E1 = A Or E1 = B Then
ColoreTesto 2
Else
ColoreTesto 0
End If
Scrivi Format2(E1) & " ",1,0
ColoreTesto 0
Next
Scrivi " <-- Rossi con Distanza Ciclometrica " & Format2(Dist1),1
'Scrivi
Scrivi(" Estrazione n." & Format2(Es) & " del " & DataEstrazione(Es)),1,0
Scrivi " " & SiglaRuota(R2) & " ",1,0
For PP = 1 To 5
E2 = Estratto(Es,R2,PP)
If E2 = C Or E2 = D Then
ColoreTesto 2
Else
ColoreTesto 0
End If
Scrivi Format2(E2) & " ",1,0
ColoreTesto 0
Next
Scrivi " <-- Rossi con Distanza Ciclometrica " & Format2(Dist2),1
Scrivi " Ambi " & Space(9) & " Somme Vert." & Space(10) & " Somme Diag.",1
Scrivi " " & Format2(A) & Space(1) & Format2(B) & Space(16) & Format2(Sac) & Space(19) & Format2(Sad),1
Scrivi " " & Format2(C) & Space(1) & Format2(D) & Space(16) & Format2(Sbd) & Space(19) & Format2(Sbc),1
Scrivi
Scrivi " Le 3 Ambate ricavate dalle somme vert. e diag. " & Format2(SSd) & " " & Format2(Sad),1,0
Scrivi " " & Format2(Sac),1
Scrivi
Scrivi " Le 3 Ambate più i rispettivi numeri delle terzine simmetriche ",1,0
ColoreTesto 2
Scrivi Format2(DsdA) & " " & Format2(DsdB) & " " & Format2(DsdC) & " ",1,0
Scrivi Format2(DadA) & " " & Format2(DadB) & " " & Format2(DadC) & " ",1,0
Scrivi Format2(DacA) & " " & Format2(DacB) & " " & Format2(DacC),1 : ColoreTesto 0
Scrivi
Ruote(1) = R1
Ruote(2) = R2
Num1(1) = SSd : Num1(2) = Sad : Num1(3) = Sac
ImpostaGiocata 1,Num1,Ruote,Posta,Clp1
Num2(1) = DsdA : Num2(2) = DsdB : Num2(3) = DsdC
Num2(4) = DadA : Num2(5) = DadB : Num2(6) = DadC
Num2(7) = DacA : Num2(8) = DacB : Num2(9) = DacC
ImpostaGiocata 2,Num2,Ruote,Poste,Clp2
Gioca Es
End If
End If
End If
Next
Next
Next
End If
Next
Next
Next
If ScriptInterrotto Then Exit Sub
Next
ScriviResoconto
Scrivi Space(52) & " PROGETTO - METODO CICLOMETRICO - Chiesto da Matematico"
Scrivi Space(52) & " SCRIPT BY Salvo50"
End Sub