Option Explicit
Dim Esa(6),Ambo1(2),Ambo2(2),Ambo3(2),Ambo4(2),Ambo5(2)
Dim Amba1,Amba2
Sub Main
Dim FIn,Es,Ini,S1,S2,Amba1,Amba2
Dim P1,P2,A,B,C,D,E1,E2,Caso,Casi
Dim R1,R2,DeA,DeB,CaB,CaA,Salvo50
Dim So1,So2,Sv1,Sv2,Clp1,Clp2
FIn = EstrazioneFin
Ini = CInt(InputBox("Inserisci l'estrazione che vuoi iniziare",Salvo50,9600))
Clp1 = CInt(InputBox(" Per quanti colpi vuoi giocare l'ambata?",Salvo50,6))
Clp2 = CInt(InputBox(" Per quanti colpi vuoi giocare la Sestina?",Salvo50,9))
Call ScegliRange(EstrazioneIni,FIn,Ini,EstrazioneFin)
Scrivi Space(12) & " L'AMBO UNITO - CHIESTO DA KUBES - SCRIPT SALVO50",1,,4,,3,,1
For Es = Ini To FIn : Call Messaggio(Es) : Call AvanzamentoElab(Ini,FIn,Es)
Caso = 00
For R1 = 01 To 10
For R2 = R1 + 01 To 12
If R2 = 11 Then R2 = 12
For P1 = 01 To 05
P2 = P1 + 01
If P2 = 6 Then P2 = 1
A = Estratto(Es,R1,P1) : B = Estratto(Es,R1,P2)
C = Estratto(Es,R2,P1) : D = Estratto(Es,R2,P2)
If A > 0 And B > 0 And C > 0 And D > 0 Then
DeA = Decina(A) : CaA = Cadenza(A)
DeB = Decina(B) : CaB = Cadenza(B)
If DeA = 0 And CaB = 0 Then DeA = 9
If DeB = 0 And CaA = 0 Then DeB = 9
If(DeA <> DeB And DeA <> CaB)And(CaA <> DeB And CaA <> CaB)Then
S1 = CInt(DeA & CaB) : S2 = CInt(DeB & CaA)
Call EsoAmbataVersAB_C(S1,S2,So1,So2,Sv1,Sv2,Es,R1,R2,E1,A,B,E2,C,Caso,Casi,Clp1,Clp2)
Call EsoAmbataVersAB_D(S1,S2,So1,So2,Sv1,Sv2,Es,R1,R2,E1,A,B,E2,D,Caso,Casi,Clp1,Clp2)
End If
End If
Next
Next
Next
If ScriptInterrotto Then Exit Sub
Next
ScriviResoconto
End Sub
'***************************************************************************************************************** AB_C
Sub EsoAmbataVersAB_C(S1,S2,So1,So2,Sv1,Sv2,Es,R1,R2,E1,A,B,E2,C,Caso,Casi,Clp1,Clp2)
If C = S1 Or C = S2 Then
Dim DiagS2C,D1,PP1,PP2,Sp
Sp = " "
DiagS2C = Fuori90(B + C)
D1 = Fuori90(90 +(DiagS2C - A))
So1 = Fuori90(A + B)
So2 = Fuori90(C + D1)
Sv1 = Fuori90(A + C)
Sv2 = Fuori90(B + D1)
Esa(4) = DiagS2C
Amba1 = Fuori90(So1 + So2)
Amba2 = Fuori90(Sv1 + Sv2)
Caso = Caso + 1 : Casi = Casi + 1
Call Scrivi((String(89,"o") & " Casi Totali " & FormattaStringa(Casi,"0000")),1,,,1)
Call Scrivi((String(80,"o") & " Estrazione " &(Es) & " caso " & FormattaStringa(Caso,"0000")),1,,,2)
Call Scrivi(" Estrazione n." & Format2(Es) & " del " & DataEstrazione(Es),01,00)
Call Scrivi(" " & SiglaRuota(R1) & " ",01,00)
For PP1 = 01 To 05
E1 = Estratto(Es,R1,PP1)
If E1 = A Or E1 = B Then
Call ColoreTesto(02)
Else
Call ColoreTesto(00)
End If
Call Scrivi(Format2(E1) & " ",01,00)
Call ColoreTesto(00)
Next
Call Scrivi()
Call Scrivi(" Estrazione n." & Format2(Es) & " del " & DataEstrazione(Es),01,00)
Call Scrivi(" " & SiglaRuota(R2) & " ",01,00)
For PP2 = 01 To 05
E2 = Estratto(Es,R2,PP2)
If E2 = C Then
Call ColoreTesto(02)
Else
Call ColoreTesto(00)
End If
Call Scrivi(Format2(E2) & " ",01,00)
Call ColoreTesto(00)
Next
Call Scrivi()
Call Scrivi()
Scrivi " Estratti" & Space(2) & " Dec. Inver." & Space(2) & " Somme Oriz.",1,0
Scrivi Space(2) & " Somme Vert.",1
Scrivi Space(3) & Format2(A) & Sp & Format2(B) & Space(8) & Format2(S1) & Sp & Format2(S2),1,0
Scrivi Space(9) & Format2(So1) & Space(13) & Format2(Sv1),1
Scrivi Space(3) & Format2(C) & Sp,1,0
Scrivi Format2(D1),1,0,,2
Scrivi Space(22) & Format2(So2) & Space(13) & Format2(Sv2),1
Scrivi Space(30) & "--" & Space(13) & "--"
Scrivi Space(30) & Format2(Amba1) & Space(13) & Format2(Amba2)
Scrivi Space(3) & Format2(D1),1,0,,2
Scrivi "=" & Format2(B) & "+" & Format2(C) & "-" & Format2(A),1,0
Scrivi Space(5) & "(L'Ambata è uguale a Una Somma Oriz. o Vert.) ",1,,,2
Scrivi
Call GiocaES(Sv1,Sv2,So1,So2,R1,R2,Es,Clp1,Clp2)
End If
End Sub
'***************************************************************************************************************** AB_D
Sub EsoAmbataVersAB_D(S1,S2,So1,So2,Sv1,Sv2,Es,R1,R2,E1,A,B,E2,D,Caso,Casi,Clp1,Clp2)
If D = S1 Or D = S2 Then
Dim DiagS1D,C1,PP1,PP2,Sp
Sp = " "
DiagS1D =(A + D)
C1 = Fuori90(90 +(DiagS1D - B))
So1 = Fuori90(A + B)
So2 = Fuori90(C1 + D)
Sv1 = Fuori90(A + C1)
Sv2 = Fuori90(B + D)
Esa(4) = DiagS1D
Amba1 = Fuori90(So1 + So2)
Amba2 = Fuori90(Sv1 + Sv2)
Caso = Caso + 01 : Casi = Casi + 01
Call Scrivi((String(89,"o") & " Casi Totali " & FormattaStringa(Casi,"0000")),1,,,1)
Call Scrivi((String(80,"o") & " Estrazione " &(Es) & " caso " & FormattaStringa(Caso,"0000")),1,,,2)
Call Scrivi(" Estrazione n." & Format2(Es) & " del " & DataEstrazione(Es),01,00)
Call Scrivi(" " & SiglaRuota(R1) & " ",01,00)
For PP1 = 01 To 05
E1 = Estratto(Es,R1,PP1)
If E1 = A Or E1 = B Then
Call ColoreTesto(02)
Else
Call ColoreTesto(00)
End If
Call Scrivi(Format2(E1) & " ",01,00)
Call ColoreTesto(00)
Next
Call Scrivi()
Call Scrivi(" Estrazione n." & Format2(Es) & " del " & DataEstrazione(Es),01,00)
Call Scrivi(" " & SiglaRuota(R2) & " ",01,00)
For PP2 = 01 To 05
E2 = Estratto(Es,R2,PP2)
If E2 = D Then
Call ColoreTesto(02)
Else
Call ColoreTesto(00)
End If
Call Scrivi(Format2(E2) & " ",01,00)
Call ColoreTesto(00)
Next
Call Scrivi()
Scrivi
Scrivi " Estratti" & Space(2) & " Dec. Inver." & Space(2) & " Somme Oriz.",1,0
Scrivi Space(2) & " Somme Vert.",1
Scrivi Space(3) & Format2(A) & Sp & Format2(B) & Space(8) & Format2(S1) & Sp & Format2(S2),1,0
Scrivi Space(9) & Format2(So1) & Space(13) & Format2(Sv1),1
Scrivi Space(3) & Format2(C1) & Sp,1,0,,2
Scrivi Format2(D) & Space(22) & Format2(So2) & Space(13) & Format2(Sv2),1
Scrivi Space(30) & "--" & Space(13) & "--"
Scrivi Space(30) & Format2(Amba1) & Space(13) & Format2(Amba2)
Scrivi Space(3) & Format2(C1),1,0,,2
Scrivi "=" & Format2(A) & "+" & Format2(D) & "-" & Format2(B),1,0
Scrivi Space(5) & "(L'Ambata è uguale a Una Somma Oriz. o Vert.) ",1,,,2
Scrivi
Call GiocaES(Sv1,Sv2,So1,So2,R1,R2,Es,Clp1,Clp2)
End If
End Sub
Sub GiocaES(Sv1,Sv2,So1,So2,R1,R2,Es,Clp1,Clp2)
Dim Ruo(2),Posta(1),Poste(5),Post2(2),Amba(1)
Posta(1) = 1
Poste(2) = 1
Poste(3) = 1
Post2(2) = 1
Ruo(1) = R1 : Ruo(2) = R2
Amba1 = Fuori90(So1 + So2)
Amba(1) = Amba1
ImpostaGiocata 1,Amba,Ruo,Posta,Clp1
Ambo1(1) = Amba1 : Ambo1(2) = Sv1
ImpostaGiocata 2,Ambo1,Ruo,Post2,Clp2
Ambo2(1) = Amba1 : Ambo2(2) = So1
ImpostaGiocata 3,Ambo2,Ruo,Post2,Clp2
Ambo3(1) = Amba1 : Ambo3(2) = Esa(4)
ImpostaGiocata 4,Ambo3,Ruo,Post2,Clp2
Ambo4(1) = Amba1 : Ambo4(2) = Sv2
ImpostaGiocata 5,Ambo4,Ruo,Post2,Clp2
Ambo5(1) = Amba1 : Ambo5(2) = So2
ImpostaGiocata 6,Ambo5,Ruo,Post2,Clp2
Esa(1) = Amba1 : Esa(2) = Sv1 : Esa(3) = So1 : Esa(5) = Sv2 : Esa(6) = So2
EliminaRipetuti Esa
ImpostaGiocata 7,Esa,Ruo,Poste,Clp2
Gioca Es
End Sub