Option Explicit
Sub Main
   Dim FIn,Ini,A,B,C,D,G,Clp,Es,Cer,Salvo50,Z,EsClp
   Dim R1,R2,P1,P2,P3,P4,P5,P6,E1,E2,Caso,Casi
   Dim DM12,DM23,DM34,DM41,Sf1,Sf2,Medio1,DiamMedio1
   Dim Abb1,Abb2,Abb3,Abb4,Ch,DiamCh,xM1,xM2
   Dim Amba(2),Ambo(2),Penta(5),Po3(4)
   Dim L(6),M(4),Ruo1(2),Ruo2(4),Po1(1),Po2(5)
   FIn = EstrazioneFin
   Ini = CInt(InputBox("Inserisci l'estrazione che vuoi iniziare",Salvo50,10600))'9701 Esempio nell'articolo
   Clp = CInt(InputBox(" Per quanti colpi vuoi giocare?",Salvo50,7))
   Cer = CInt(InputBox(" Vuoi visualizzare il cerchio ciclometrico? SI = 1, NO un qualsiasi altro numero ",Salvo50,0))
   Call ScegliRange(Ini,FIn,Ini,FIn)
   Scrivi Space(18) & "L'AMBO UNICO di ANGELO GARGIULO - SCRIPT SALVO50" & Space(18),1,,4,,3,,1
   Scrivi Space(28) & "CON MODIFICA DI ADELEADELE" & Space(31),1,,4,,3,,1
   Po1(1) = 1
   Po2(2) = 1
   Po3(2) = 1
   Po3(3) = 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)
               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)
                        If A > 0 And C > 0 Then
                           If A <> C And A <> D And B <> C And B <> D Then
                              M(1) = A : M(2) = B : M(3) = C : M(4) = D
                              Call OrdinaMatrice(M,1)
                              'M1--M2
                              '|   |
                              'M4--M3
                              DM12 = Distanza(M(1),M(2)) : DM23 = Distanza(M(2),M(3))
                              DM34 = Distanza(M(3),M(4)) : DM41 = Distanza(M(4),M(1))
                              If DM12 = 18 And DM23 = 18 And DM34 = 18 And DM41 = 36 _
                                 Or DM12 = 18 And DM23 = 18 And DM34 = 36 And DM41 = 18 _
                                 Or DM12 = 18 And DM23 = 36 And DM34 = 18 And DM41 = 18 _
                                 Or DM12 = 36 And DM23 = 18 And DM34 = 18 And DM41 = 18 Then
                                 '---------------------------------
                                 If DM12 = 18 And DM23 = 18 And DM34 = 18 And DM41 = 36 Then
                                    Ch = Fuori90(M(4) + 18)
                                    DiamCh = Diametrale(Ch)
                                 End If
                                 If DM12 = 18 And DM23 = 18 And DM34 = 36 And DM41 = 18 Then
                                    Ch = Fuori90(M(3) + 18)
                                    DiamCh = Diametrale(Ch)
                                 End If
                                 If DM12 = 18 And DM23 = 36 And DM34 = 18 And DM41 = 18 Then
                                    Ch = Fuori90(M(2) + 18)
                                    DiamCh = Diametrale(Ch)
                                 End If
                                 If DM12 = 36 And DM23 = 18 And DM34 = 18 And DM41 = 18 Then
                                    Ch = Fuori90(M(1) + 18)
                                    DiamCh = Diametrale(Ch)
                                 End If
                                 xM1 =(M(3) + M(4))
                                 Medio1 = xM1 / 2
                                 '       xM2 =(M(1) + M(2))
                                 '      Medio2 = xM2 / 2
                                 DiamMedio1 = DiametraleD(Medio1)
                                 Abb1 = Fuori90(A + C)
                                 Abb2 = Fuori90(B + D)
                                 Abb3 = Differenza(A,C)
                                 Abb4 = Differenza(B,D)
                                 Amba(1) = Medio1 : Amba(2) = DiamMedio1
                                 Ruo1(1) = R1 : Ruo1(2) = R2
                                 Penta(1) = DiamMedio1 : Penta(2) = Abb1 : Penta(3) = Abb2 : Penta(4) = Abb3 : Penta(5) = Abb4
                                 Caso = Caso + 1
                                 Casi = Casi + 1
                                 Scrivi String(89,"*") & " Casi Totali " & FormattaStringa(Casi,"0000"),1,,,2
                                 Scrivi String(80,"*") & " Estrazione " &(Es) & " caso " & FormattaStringa(Caso,"0000"),1,,,1
                                 Scrivi(" Estrazione n." & Format2(Es) & " del " & DataEstrazione(Es)),1,0
                                 Scrivi "  " & SiglaRuota(R1) & " ",1,0
                                 For P5 = 1 To 5
                                    E1 = Estratto(Es,R1,P5)
                                    If E1 = A Or E1 = B Then
                                       ColoreTesto 2
                                    Else
                                       ColoreTesto 0
                                    End If
                                    Scrivi Format2(E1) & " ",1,0
                                    ColoreTesto 0
                                 Next
                                 Scrivi
                                 Scrivi(" Estrazione n." & Format2(Es) & " del " & DataEstrazione(Es)),1,0
                                 Scrivi "  " & SiglaRuota(R2) & " ",1,0
                                 For P6 = 1 To 5
                                    E2 = Estratto(Es,R2,P6)
                                    If E2 = C Or E2 = D Then
                                       ColoreTesto 2
                                    Else
                                       ColoreTesto 0
                                    End If
                                    Scrivi Format2(E2) & " ",1,0
                                    ColoreTesto 0
                                 Next
                                 Scrivi
                                 Scrivi
                                 ' Scrivi Space(27) & " Ambata = " & Format2(DiamCh),1,,,2
                                 Scrivi Space(13) & Format2(M(3)) & " + " & Format2(M(4)) & " = " & FormattaStringa(xM1,"000"),1,0
                                 Scrivi " / 2 = ",1,0
                                 Scrivi Format2(Medio1),1,0,,2
                                 Scrivi " Ambata 1 ",1
                                 Scrivi Space(12) & "Diametrale In Decina ",1,0
                                 Scrivi Format2(DiamMedio1),1,0,,2
                                 Scrivi " Ambata 2"
                                 Scrivi Space(17) & " Abbinamenti Per Ambo",1,,,1
                                 Scrivi Space(15) & Format2(A) & " + " & Format2(C) & " = " & Format2(Abb1),1,0
                                 Scrivi " Abbinamento 1",1
                                 Scrivi Space(15) & Format2(B) & " + " & Format2(D) & " = " & Format2(Abb2),1,0
                                 Scrivi " Abbinamento 2",1
                                 Scrivi Space(15) & Format2(A) & " - " & Format2(C) & " = " & Format2(Abb3),1,0
                                 Scrivi " Abbinamento 3",1
                                 Scrivi Space(15) & Format2(B) & " - " & Format2(D) & " = " & Format2(Abb4),1,0
                                 Scrivi " Abbinamento 4",1
                                 Scrivi
                                 If Cer = 1 Then
                                    L(1) = M(1) : L(2) = M(2) : L(3) = M(3) : L(4) = M(4) : L(5) = DiamCh
                                    DisegnaCerchioCiclometrico L,1,1,,,1,1
                                 End If
                                 G = 1
                                 Ruo2(1) = R1 : Ruo2(2) = R2 : Ruo2(3) = NZ_ : Ruo2(4) = TT_
                                 ImpostaGiocata G,Amba,Ruo1,Po1,Clp
                                 For Z = 1 To UBound(Penta)
                                    If Amba(2) <> Penta(Z)Then
                                       Ambo(1) = Amba(2): Ambo(2) = Penta(Z)
                                       If Ambo(2) > 0 Then
                                          G = G + 1
                                          ImpostaGiocata G,Ambo,Ruo2,Po2,Clp
                                       End If
                                    End If
                                 Next
                                 G = G + 1
                                 ImpostaGiocata G,Penta,Ruo2,Po3,Clp
                                 Gioca Es
                              End If
                           End If
                        End If
                     Next
                  Next
               Next
            Next
         Next
      Next
      If ScriptInterrotto Then Exit Sub
   Next
   ScriviResoconto
End Sub