Option Explicit
Sub Main
   Dim Ini,Fin,Salvo50,Es,R1,P,Casi,Caso,Chiave,k,Clp
   Dim PrimoMezzoPeso(5),SecondoMezzoPeso(5),Posta(5),Ruo(2)
   Dim S1(5),S2(5),S3(5),S4(5),aS4(5),S5(5),S3_2(5),Som(5),AA(5),P1_2(5),P2_2(5),Bas0_2(5),Bas1_2(5)
   Dim A(5),B(5),D(5),E(5),F(5),G(5),H(5),I(5),Bas0(5),Bas1(5),PMP(5)
   Dim D2(5),E2(5),F2(5),G2(5),H2(5),I2(5),P1(5),P2(5),P3(5),SMP(5)
   Posta(2) = 1
   Posta(3) = 1
   Fin = EstrazioneFin
   Ini = InputBox("Inserisci l'estrazione che vuoi iniziare",Salvo50,10700)
   Clp = InputBox("Inserisci per quanti colpi vuoi giocare",Salvo50,10)
   Chiave = InputBox("Inserisci il numero della chiave fissa",Salvo50,1)
   For Es = Ini To Fin - 1
      Caso = 0
      For R1 = 1 To 12
         If R1 = 11 Then R1 = 12
         For P = 1 To 5
            A(P) = Estratto(Es,R1,P)
         Next
         'Inizio Calcoli Primo Gruppo Piramidi
         'Calcoli Prima Piramide
         D(1) = Fuori90(A(1) + Chiave)
         E(1) = Fuori90(A(2) + D(1))
         F(1) = Fuori90(Chiave + D(1))
         G(1) = Fuori90(D(1) + E(1))
         H(1) = Fuori90(F(1) + G(1))
         I(1) = Fuori90(E(1) + G(1) + H(1))
         'Calcoli Seconda Piramide
         D(2) = Fuori90(A(2) + Chiave)
         E(2) = Fuori90(A(3) + D(2))
         F(2) = Fuori90(Chiave + D(2))
         G(2) = Fuori90(D(2) + E(2))
         H(2) = Fuori90(F(2) + G(2))
         I(2) = Fuori90(E(2) + G(2) + H(2))
         'Calcoli Terza Piramide
         D(3) = Fuori90(A(3) + Chiave)
         E(3) = Fuori90(A(4) + D(3))
         F(3) = Fuori90(Chiave + D(3))
         G(3) = Fuori90(D(3) + E(3))
         H(3) = Fuori90(F(3) + G(3))
         I(3) = Fuori90(E(3) + G(3) + H(3))
         'Calcoli Quarta Piramide
         D(4) = Fuori90(A(4) + Chiave)
         E(4) = Fuori90(A(5) + D(4))
         F(4) = Fuori90(Chiave + D(4))
         G(4) = Fuori90(D(4) + E(4))
         H(4) = Fuori90(F(4) + G(4))
         I(4) = Fuori90(E(4) + G(4) + H(4))
         'Calcoli Quinta Piramide
         D(5) = Fuori90(A(5) + Chiave)
         E(5) = Fuori90(A(1) + D(5))
         F(5) = Fuori90(Chiave + D(5))
         G(5) = Fuori90(D(5) + E(5))
         H(5) = Fuori90(F(5) + G(5))
         I(5) = Fuori90(E(5) + G(5) + H(5))
         'Fine Calcoli Primo Gruppo Piramidi
         For k = 1 To 5
            PrimoMezzoPeso(k) = Fuori90(I(k) * 13)
            PrimoMezzoPeso(k) = 91 - PrimoMezzoPeso(k)
            S1(k) = "Al Numero " & Format2(I(k)) & " corrisponde il primo mezzo peso " & Format2(PrimoMezzoPeso(k))
            AA(k) = A(k)
            PMP(k) = PrimoMezzoPeso(k)
            Bas0(k) = AA(k) & PMP(k)
            Bas1(k) = A(k) & PrimoMezzoPeso(k)
            P1(k) = Piramide(Bas0(k),1)
            P2(k) = Piramide(Bas0(k),2)
            SecondoMezzoPeso(k) = Fuori90(P2(k) * 13)
            S2(k) = "Al Numero " & Format2(P2(k)) & " corrisponde il secondo mezzo peso " & Format2(SecondoMezzoPeso(k))
            S3(k) = FuoriX(PrimoMezzoPeso(k) + SecondoMezzoPeso(k) + A(k),100)'Prima somma di tutto
            S3_2(k) = S3(k)
            If(S3_2(k)) < 10 Then S3_2(k) = S3_2(k) + 90
            Bas0_2(k) = AA(k) & S3_2(k)
            Bas1_2(k) = A(k) & S3(k)
            P1_2(k) = Piramide(Bas0_2(k),1)
            P2_2(k) = Piramide(Bas0_2(k),2)
            S4(k) = FuoriX(P2_2(k) + S3(k),100) 'seconda somma di tutto
            S4(k) = Fuori90(S4(k))
            S5(k) = Fuori90(S4(k) + 1)
         Next
         Caso = Caso + 1
         Casi = Casi + 1
         Scrivi String(89,"*") & " Casi Totali " & FormattaStringa(Casi,"0000"),1,,,1
         Scrivi String(80,"*") & " Estrazione " &(Es) & " caso " & FormattaStringa(Caso,"0000"),1,,,2
         Scrivi(" Estrazione n." & Format2(Es) & " del " & DataEstrazione(Es)),1,0
         Scrivi "    " & SiglaRuota(R1) & " " & StringaEstratti(Es,R1),1,0
         Scrivi "  La chiave fissa impostata è  " & Chiave,1,,,1
         Scrivi
         Scrivi Space(16) & "Con gli estratti base formare 5 gruppi di 2 numeri ",1,,,1
         Scrivi
         Scrivi Space(20) & "(" & Format2(A(1)) & " " & Format2(A(2)),1,0
         Scrivi ")(" & Format2(A(2)) & " " & Format2(A(3)),1,0
         Scrivi ")(" & Format2(A(3)) & " " & Format2(A(4)),1,0
         Scrivi ")(" & Format2(A(4)) & " " & Format2(A(5)),1,0
         Scrivi ")(" & Format2(A(5)) & " " & Format2(A(1)) & ")",1
         Scrivi
         Scrivi Space(18) & "Prime Piramidi Per Ogni Gruppo Di 2 Numeri ",1,,,2
         Scrivi
         'PRIMA FILA
         Scrivi Space(10) & Format2(A(1)) & " " & Format2(A(2)),1,0
         Scrivi Space(8) & Format2(A(2)) & " " & Format2(A(3)),1,0
         Scrivi Space(8) & Format2(A(3)) & " " & Format2(A(4)),1,0
         Scrivi Space(8) & Format2(A(4)) & " " & Format2(A(5)),1,0
         Scrivi Space(8) & Format2(A(5)) & " " & Format2(A(1)),1
         'SECONDA FILA
         Scrivi Space(10) & Format2(Chiave) & " " & Format2(D(1)) & " " & Format2(E(1)),1,0
         Scrivi Space(5) & Format2(Chiave) & " " & Format2(D(2)) & " " & Format2(E(2)),1,0
         Scrivi Space(5) & Format2(Chiave) & " " & Format2(D(3)) & " " & Format2(E(3)),1,0
         Scrivi Space(5) & Format2(Chiave) & " " & Format2(D(4)) & " " & Format2(E(4)),1,0
         Scrivi Space(5) & Format2(Chiave) & " " & Format2(D(5)) & " " & Format2(E(5)),1
         'TERZA FILA
         Scrivi Space(13) & Format2(F(1)) & " " & Format2(G(1)),1,0
         Scrivi Space(8) & Format2(F(2)) & " " & Format2(G(2)),1,0
         Scrivi Space(8) & Format2(F(3)) & " " & Format2(G(3)),1,0
         Scrivi Space(8) & Format2(F(4)) & " " & Format2(G(4)),1,0
         Scrivi Space(8) & Format2(F(5)) & " " & Format2(G(5)),1
         'QUARTA FILA
         Scrivi Space(16) & Format2(H(1)) & Space(11) & Format2(H(2)) & Space(11) & Format2(H(3)),1,0
         Scrivi Space(11) & Format2(H(4)) & Space(11) & Format2(H(5)),1
         'QUINTA FILA
         Scrivi Space(16) & Format2(I(1)) & Space(11) & Format2(I(2)) & Space(11) & Format2(I(3)),1,0,,2
         Scrivi Space(11) & Format2(I(4)) & Space(11) & Format2(I(5)),1,,,2
         Scrivi
         Scrivi Space(11) & "Per ognuno dei numeri evidenziati in rosso si deve prendere  ",1,,,1
         Scrivi Space(8) & "il corrispondente numero nei mezzi pesi della tavola settenaria ",1,,,1
         Scrivi
         Scrivi Space(16) & S1(1),1 ' & " " & S2(1),1
         Scrivi Space(16) & S1(2),1 ' & " " & S2(2),1
         Scrivi Space(16) & S1(3),1 ' & " " & S2(3),1
         Scrivi Space(16) & S1(4),1 ' & " " & S2(4),1
         Scrivi Space(16) & S1(5),1 ' & " " & S2(5),1
         Scrivi
         Scrivi Space(12) & "Ognuno degli estratti base unito al corrisondente primo",1,,,1
         Scrivi Space(12) & "mezzo peso a formare 5 gruppi di 2 numeri e piramidarli",1,,,1
         Scrivi
         Scrivi Space(22) & "(" & Format2(A(1)) & " " & Format2(PrimoMezzoPeso(1)),1,0
         Scrivi ")(" & Format2(A(2)) & " " & Format2(PrimoMezzoPeso(2)),1,0
         Scrivi ")(" & Format2(A(3)) & " " & Format2(PrimoMezzoPeso(3)),1,0
         Scrivi ")(" & Format2(A(4)) & " " & Format2(PrimoMezzoPeso(4)),1,0
         Scrivi ")(" & Format2(A(5)) & " " & Format2(PrimoMezzoPeso(5)) & ")",1
         Scrivi
         Scrivi Space(23) & FormattaStringa(Bas1(1),"0000") & Space(3) & FormattaStringa(Bas1(2),"0000"),1,0,,2
         Scrivi Space(3) & FormattaStringa(Bas1(3),"0000") & Space(3) & FormattaStringa(Bas1(4),"0000"),1,0,,2
         Scrivi Space(3) & FormattaStringa(Bas1(5),"0000"),1,,,2
         Scrivi Space(23) & FormattaStringa(P1(1),"000") & Space(4) & FormattaStringa(P1(2),"000"),1,0,,1
         Scrivi Space(4) & FormattaStringa(P1(3),"000") & Space(4) & FormattaStringa(P1(4),"000"),1,0,,1
         Scrivi Space(4) & FormattaStringa(P1(5),"000"),1,,,1
         Scrivi Space(23) & FormattaStringa(P2(1),"00") & Space(5) & FormattaStringa(P2(2),"00"),1,0,,2
         Scrivi Space(5) & FormattaStringa(P2(3),"00") & Space(5) & FormattaStringa(P2(4),"00"),1,0,,2
         Scrivi Space(5) & FormattaStringa(P2(5),"00"),1,,,2
         Scrivi
         Scrivi Space(13) & "Per ogni cupide di queste piramidi trovare nella tavola",1,,,1
         Scrivi Space(13) & "dei secondi mezzi pesi il numero corrispondente ",1,,,1
         Scrivi
         Scrivi Space(15) & S2(1),1
         Scrivi Space(15) & S2(2),1
         Scrivi Space(15) & S2(3),1
         Scrivi Space(15) & S2(4),1
         Scrivi Space(15) & S2(5),1
         Scrivi
         Scrivi Space(25) & "Sommare col fuori 100 ",1,,,1
         Scrivi Space(20) & "Primi mezzi pesi     " & StringaNumeri(PrimoMezzoPeso," ",True),1
         Scrivi Space(20) & "Secondi mezzi pesi   " & StringaNumeri(SecondoMezzoPeso," ",True),1
         Scrivi Space(20) & "Estratti base        " & StringaNumeri(A," ",True),1
         Scrivi Space(40) & String(15,"-"),,,,2
         Scrivi Space(20) & "1a Somma di Tutti    " & StringaNumeri(S3," ",True),1
         Scrivi
         Scrivi Space(12) & "Ognuno degli estratti base unito al corrisondente alla",1,,,1
         Scrivi Space(12) & "somma di tutti a formare 5 gruppi di 2 numeri e piramidarli",1,,,1
         Scrivi
         Scrivi Space(22) & "(" & Format2(A(1)) & " " & Format2(S3(1)),1,0
         Scrivi ")(" & Format2(A(2)) & " " & Format2(S3(2)),1,0
         Scrivi ")(" & Format2(A(3)) & " " & Format2(S3(3)),1,0
         Scrivi ")(" & Format2(A(4)) & " " & Format2(S3(4)),1,0
         Scrivi ")(" & Format2(A(5)) & " " & Format2(S3(5)) & ")",1
         Scrivi
         Scrivi Space(23) & FormattaStringa(Bas1_2(1),"0000") & Space(3) & FormattaStringa(Bas1_2(2),"0000"),1,0,,2
         Scrivi Space(3) & FormattaStringa(Bas1_2(3),"0000") & Space(3) & FormattaStringa(Bas1_2(4),"0000"),1,0,,2
         Scrivi Space(3) & FormattaStringa(Bas1_2(5),"0000"),1,,,2
         Scrivi Space(23) & FormattaStringa(P1_2(1),"000") & Space(4) & FormattaStringa(P1_2(2),"000"),1,0,,1
         Scrivi Space(4) & FormattaStringa(P1_2(3),"000") & Space(4) & FormattaStringa(P1_2(4),"000"),1,0,,1
         Scrivi Space(4) & FormattaStringa(P1_2(5),"000"),1,,,1
         Scrivi Space(23) & FormattaStringa(P2_2(1),"00") & Space(5) & FormattaStringa(P2_2(2),"00"),1,0,,2
         Scrivi Space(5) & FormattaStringa(P2_2(3),"00") & Space(5) & FormattaStringa(P2_2(4),"00"),1,0,,2
         Scrivi Space(5) & FormattaStringa(P2_2(5),"00"),1,,,2
         Scrivi
         Scrivi Space(25) & "Sommare col fuori 100 ",1,,,1
         Scrivi Space(20) & "Primi mezzi pesi     " & StringaNumeri(PrimoMezzoPeso," ",True),1
         Scrivi Space(20) & "Secondi mezzi pesi   " & StringaNumeri(SecondoMezzoPeso," ",True),1
         Scrivi Space(20) & "Cuspidi 3a piramide  " & StringaNumeri(P2_2," ",True),1
         Scrivi Space(20) & "Estratti base        " & StringaNumeri(A," ",True),1
         Scrivi Space(40) & String(15,"-"),,,,2
         Scrivi Space(20) & "2a Somma di Tutti    " & StringaNumeri(S4," ",True),1
         Scrivi
         Scrivi Space(10) & "Il Pronostico è di Sommare 1 ad Ogni Numero Della 2a somma di Tutti ",1,,,1
         Scrivi
         Ruo(1) = R1
         EliminaRipetuti S5
         ImpostaGiocata 1,S5,Ruo,Posta,Clp
         Gioca Es,,,1
         'Next
      Next
   Next
   ScriviResoconto
End Sub