'Trovare su qualsiasi estrazione un ambo di somma 90.
'Trovata la condizione, fare la Differenza tra i due numeri che formano l'ambo
'e cercare il risultato in posizione isotopa su una delle due posizioni che formano l'ambo.
'Fare il diametrale che sarà il primo numero, il secondo numero è lo stesso trovato in posizione isotopa.
'Il terzo numero è la Differenza tra il Primo e quello vicino. Provo a fare un esempio.
'ES: FI 81 31 22 51 47
'NZ 60 34 56 28 18
'34+56=90 condizione metodo
'56-34=22 In Posizione isotopa
'Quindi 22+45=67 1°Numero
'2° Numero il 22
'3° Numero 9 Differenza tra il 31 In Posizione isotopa sul 34 meno il 22
Option Explicit
Sub Main
Dim FIn,Es,Ini,R1,R2,Salvo50,Clp
Dim Caso,Casi,P1,P2,A,B,C,D,E1,E2
Dim PP1,PP2,DAB,DCD
FIn = EstrazioneFin
Ini = CInt(InputBox("Inserisci l'estrazione che vuoi iniziare",Salvo50,9585)) 'ESTRAZIONE 9585 ESEMPIO IN SPIEGAZIONI
Clp = CInt(InputBox(" Per quanti colpi vuoi giocare?",Salvo50,20))
Call ScegliRange(Ini,FIn,Ini,FIn)
Scrivi Space(12) & "PER RAIMBOW58 - AMBO SOMMA 90 - SCRIPT SALVO50",1,,4,,3,,1
For Es = Ini To FIn
Messaggio Es
AvanzamentoElab Ini,FIn,Es
Caso = 0
For R1 = 1 To 10
For R2 = R1 + 1 To 12
If R2 = 11 Then R2 = 12
For P1 = 1 To 4
For P2 = P1 + 1 To 5
A = Estratto(Es,R1,P1) : B = Estratto(Es,R1,P2)
C = Estratto(Es,R2,P1) : D = Estratto(Es,R2,P2)
DAB = Differenza(A,B)
DCD = Differenza(C,D)
If(A + B = 90 And DAB = C Or DAB = D) Xor(C + D = 90 And DCD = A Or DCD = B) Then
'
Call AmboAmbataVersABC(DAB,Clp,Caso,Casi,Es,R1,R2,PP1,E1,A,B,PP2,E2,C,D)
Call AmboAmbataVersABD(DAB,Clp,Caso,Casi,Es,R1,R2,PP1,E1,A,B,PP2,E2,D,C)
Call AmbataAmboVersACD(DCD,Clp,Caso,Casi,Es,R1,R2,PP1,E1,A,PP2,E2,C,D,B)
Call AmbataAmboVersBCD(DCD,Clp,Caso,Casi,Es,R1,R2,PP1,E1,B,PP2,E2,C,D,A)
'
End If
Next
Next
Next
Next
If ScriptInterrotto Then Exit Sub
Next
ScriviResoconto
End Sub
Sub AmboAmbataVersABC(DAB,Clp,Caso,Casi,Es,R1,R2,PP1,E1,A,B,PP2,E2,C,D)
If A + B = 90 And DAB = C Then
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),1,0)
Call Scrivi(" " & SiglaRuota(R1) & " ",1,0)
For PP1 = 1 To 5
E1 = Estratto(Es,R1,PP1)
If E1 = A Or E1 = B Then
Call ColoreTesto(2)
Else
Call ColoreTesto(0)
End If
Call Scrivi(Format2(E1) & " ",1,0)
Call ColoreTesto(0)
Next
Call Scrivi(" <-- Evidenziati Somma 90",1)
Call Scrivi(" Estrazione n." & Format2(Es) & " del " & DataEstrazione(Es),1,0)
Call Scrivi(" " & SiglaRuota(R2) & " ",1,0)
For PP2 = 1 To 5
E2 = Estratto(Es,R2,PP2)
If E2 = C Then
Call ColoreTesto(2)
Else
Call ColoreTesto(0)
End If
Call Scrivi(Format2(E2) & " ",1,0)
Call ColoreTesto(0)
Next
Call Scrivi()
Call Scrivi()
Dim ANum(3)
ANum(1) = Diametrale(DAB)
ANum(2) = DAB
ANum(3) = Differenza(D,DAB)
Scrivi Format2(ANum(1)) & " = Diametrale di " & Format2(DAB),1
Scrivi Format2(ANum(2)) & " = Differenza tra " & Format2(A) & " e " & Format2(B),1
Scrivi Format2(ANum(3)) & " = Differenza tra " & Format2(D) & " e " & Format2(DAB),1
Call Scrivi()
Call Giocata(ANum,R1,R2,Es,Clp)
End If
End Sub
Sub AmboAmbataVersABD(DAB,Clp,Caso,Casi,Es,R1,R2,PP1,E1,A,B,PP2,E2,D,C)
If A + B = 90 And DAB = D Then
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),1,0)
Call Scrivi(" " & SiglaRuota(R1) & " ",1,0)
For PP1 = 1 To 5
E1 = Estratto(Es,R1,PP1)
If E1 = A Or E1 = B Then
Call ColoreTesto(2)
Else
Call ColoreTesto(0)
End If
Call Scrivi(Format2(E1) & " ",1,0)
Call ColoreTesto(0)
Next
Call Scrivi(" <-- Evidenziati Somma 90",1)
Call Scrivi(" Estrazione n." & Format2(Es) & " del " & DataEstrazione(Es),1,0)
Call Scrivi(" " & SiglaRuota(R2) & " ",1,0)
For PP2 = 01 To 05
E2 = Estratto(Es,R2,PP2)
If E2 = D Then
Call ColoreTesto(2)
Else
Call ColoreTesto(0)
End If
Call Scrivi(Format2(E2) & " ",1,0)
Call ColoreTesto(00)
Next
Call Scrivi()
Call Scrivi()
Dim ANum(3)
ANum(1) = Diametrale(DAB)
ANum(2) = DAB
ANum(3) = Differenza(C,DAB)
Scrivi Format2(ANum(1)) & " = Diametrale di " & Format2(DAB),1
Scrivi Format2(ANum(2)) & " = Differenza tra " & Format2(A) & " e " & Format2(B),1
Scrivi Format2(ANum(3)) & " = Differenza tra " & Format2(C) & " e " & Format2(DAB),1
Call Scrivi()
Call Giocata(ANum,R1,R2,Es,Clp)
End If
End Sub
Sub AmbataAmboVersACD(DCD,Clp,Caso,Casi,Es,R1,R2,PP1,E1,A,PP2,E2,C,D,B)
If C + D = 90 And DCD = A Then
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),1,0)
Call Scrivi(" " & SiglaRuota(R1) & " ",1,0)
For PP1 = 1 To 5
E1 = Estratto(Es,R1,PP1)
If E1 = A Then
Call ColoreTesto(2)
Else
Call ColoreTesto(0)
End If
Call Scrivi(Format2(E1) & " ",1,0)
Call ColoreTesto(0)
Next
Call Scrivi()
Call Scrivi(" Estrazione n." & Format2(Es) & " del " & DataEstrazione(Es),1,0)
Call Scrivi(" " & SiglaRuota(R2) & " ",1,0)
For PP2 = 01 To 05
E2 = Estratto(Es,R2,PP2)
If E2 = C Or E2 = D Then
Call ColoreTesto(2)
Else
Call ColoreTesto(0)
End If
Call Scrivi(Format2(E2) & " ",1,0)
Call ColoreTesto(0)
Next
Call Scrivi(" <-- Evidenziati Somma 90",1)
Call Scrivi()
Dim ANum(3)
ANum(1) = Diametrale(DCD)
ANum(2) = DCD
ANum(3) = Differenza(B,DCD)
Scrivi Format2(ANum(1)) & " = Diametrale di " & Format2(DCD),1
Scrivi Format2(ANum(2)) & " = Differenza tra " & Format2(C) & " e " & Format2(D),1
Scrivi Format2(ANum(3)) & " = Differenza tra " & Format2(B) & " e " & Format2(DCD),1
Call Scrivi()
Call Giocata(ANum,R1,R2,Es,Clp)
End If
End Sub
Sub AmbataAmboVersBCD(DCD,Clp,Caso,Casi,Es,R1,R2,PP1,E1,B,PP2,E2,C,D,A)
If C + D = 90 And DCD = B Then
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),1,0)
Call Scrivi(" " & SiglaRuota(R1) & " ",1,0)
For PP1 = 1 To 5
E1 = Estratto(Es,R1,PP1)
If E1 = B Then
Call ColoreTesto(2)
Else
Call ColoreTesto(0)
End If
Call Scrivi(Format2(E1) & " ",1,0)
Call ColoreTesto(0)
Next
Call Scrivi()
Call Scrivi(" Estrazione n." & Format2(Es) & " del " & DataEstrazione(Es),1,0)
Call Scrivi(" " & SiglaRuota(R2) & " ",1,0)
For PP2 = 1 To 5
E2 = Estratto(Es,R2,PP2)
If E2 = C Or E2 = D Then
Call ColoreTesto(2)
Else
Call ColoreTesto(0)
End If
Call Scrivi(Format2(E2) & " ",1,0)
Call ColoreTesto(0)
Next
Call Scrivi(" <-- Evidenziati Somma 90",1)
Call Scrivi()
Dim ANum(3)
ANum(1) = Diametrale(DCD)
ANum(2) = DCD
ANum(3) = Differenza(A,DCD)
Scrivi Format2(ANum(1)) & " = Diametrale di " & Format2(DCD),1
Scrivi Format2(ANum(2)) & " = Differenza tra " & Format2(C) & " e " & Format2(D),1
Scrivi Format2(ANum(3)) & " = Differenza tra " & Format2(A) & " e " & Format2(DCD),1
Call Scrivi()
Call Giocata(ANum,R1,R2,Es,Clp)
End If
End Sub
Function Giocata(ANum,R1,R2,Es,Clp)
Dim Ruo(2),Posta(3)
Ruo(1) = R1 : Ruo(2) = R2
Posta(2) = 1
'Posta(3) = 1
EliminaRipetuti ANum
ImpostaGiocata 1,ANum,Ruo,Posta,Clp
Gioca Es
End Function