Option Explicit
Sub Main
   Dim Es,R1,Ini,Fin,P1,Clp,Salvo50,K,Casi,R2
   Dim Som_A,Som_B,Som_I,Som_I2,Som_H,Som_H2
   Dim Spia
   Dim PrimoMezzoPeso(5),SecondoMezzoPeso(5),S1(5),S2(5),Som(5)
   Dim A(5),B(5),D(5),E(5),F(5),G(5),H(5),I(5)
   Dim D2(5),E2(5),F2(5),G2(5),H2(5),I2(5)
   Dim Posta(5),Ruo(1)
   Spia = 1
   Fin = EstrazioneFin
   Ini = InputBox("Inserisci l'estrazione che vuoi iniziare",,10710)
   Clp = InputBox("Per quanti colpi vuoi giocare?",Salvo50,1)
   Posta(5) = 1
   For Es = Ini To Fin - 1
      AvanzamentoElab Ini,Fin,Es
      For R1 = 1 To 12
         If R1 = 11 Then R1 = 12
         For P1 = 1 To 5
            A(P1) = Estratto(Es,R1,P1)
            B(P1) = Estratto(Es + 1,R1,P1)
         Next
         Som_A = SommaEstratti(Es,R1)
         Som_A = Fuori90(Som_A)
         Som_B = SommaEstratti(Es + 1,R1)
         Som_B = Fuori90(Som_B)
         'Inizio Calcoli Primo Gruppo Piramidi
         'Calcoli Prima Piramide
         D(1) = Fuori90(A(1)) + Spia
         E(1) = Fuori90(A(2) + D(1))
         F(1) = Fuori90((Spia) + 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)) + Spia
         E(2) = Fuori90(A(3) + D(2))
         F(2) = Fuori90((Spia) + 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)) + Spia
         E(3) = Fuori90(A(4) + D(3))
         F(3) = Fuori90((Spia) + 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)) + Spia
         E(4) = Fuori90(A(5) + D(4))
         F(4) = Fuori90((Spia) + 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)) + Spia
         E(5) = Fuori90(A(1) + D(5))
         F(5) = Fuori90((Spia) + 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)
            SecondoMezzoPeso(K) = Fuori90(B(K) * 13)
            Som(K) = Fuori90(PrimoMezzoPeso(K) + SecondoMezzoPeso(K))
            S1(K) = "Al Numero " & Format2(I(K)) & " corrisponde il primo mezzo peso " & Format2(PrimoMezzoPeso(K))
            S2(K) = " Al secondo mezzo peso corrisponde " & Format2(SecondoMezzoPeso(K))
         Next
         'Inizio Calcoli Ultimo Gruppo Piramidi
         'Calcoli Prima Piramide
         D2(1) = Fuori90(A(1) + Som(1))
         E2(1) = Fuori90(A(2) + D2(1))
         F2(1) = Fuori90(Som(1) + D2(1))
         G2(1) = Fuori90(D2(1) + E2(1))
         H2(1) = Fuori90(F2(1) + G2(1))
         I2(1) = Fuori90(E2(1) + G2(1) + H2(1))
         'Calcoli Seconda Piramide
         D2(2) = Fuori90(A(2) + Som(2))
         E2(2) = Fuori90(A(3) + D2(2))
         F2(2) = Fuori90(Som(2) + D2(2))
         G2(2) = Fuori90(D2(2) + E2(2))
         H2(2) = Fuori90(F2(2) + G2(2))
         I2(2) = Fuori90(E2(2) + G2(2) + H2(2))
         'Calcoli Terza Piramide
         D2(3) = Fuori90(A(3) + Som(3))
         E2(3) = Fuori90(A(4) + D2(3))
         F2(3) = Fuori90(Som(3) + D2(3))
         G2(3) = Fuori90(D2(3) + E2(3))
         H2(3) = Fuori90(F2(3) + G2(3))
         I2(3) = Fuori90(E2(3) + G2(3) + H2(3))
         'Calcoli Quarta Piramide
         D2(4) = Fuori90(A(4) + Som(4))
         E2(4) = Fuori90(A(5) + D2(4))
         F2(4) = Fuori90(Som(4) + D2(4))
         G2(4) = Fuori90(D2(4) + E2(4))
         H2(4) = Fuori90(F2(4) + G2(4))
         I2(4) = Fuori90(E2(4) + G2(4) + H2(4))
         'Calcoli Quinta Piramide
         D2(5) = Fuori90(A(5) + Som(5))
         E2(5) = Fuori90(A(1) + D2(5))
         F2(5) = Fuori90(Som(5) + D2(5))
         G2(5) = Fuori90(D2(5) + E2(5))
         H2(5) = Fuori90(F2(5) + G2(5))
         I2(5) = Fuori90(E2(5) + G2(5) + H2(5))
         'Fine Calcoli Ultimo Gruppo Piramidi
         Som_H2 = Fuori90(H2(1) + H2(2) + H2(3) + H2(4) + H2(5))
         Som_I2 = Fuori90(I2(1) + I2(2) + I2(3) + I2(4) + I2(5))
         Casi = Casi + 1
         Scrivi String(80,"*") & " Estrazione " &(Es) & " casi " & FormattaStringa(Casi,"0000"),1,,,1
         Scrivi(" Estrazione n." & Format2(Es) & " del " & DataEstrazione(Es)),1,0
         Scrivi "  " & SiglaRuota(R1) & " " & StringaEstratti(Es,R1) & "  Somma Fuori90 " & Som_A,1
         '
         Scrivi(" Estrazione n." & Format2(Es + 1) & " del " & DataEstrazione(Es + 1)),1,0
         Scrivi "  " & SiglaRuota(R1) & " " & StringaEstratti(Es + 1,R1) & "  Somma Fuori90 " & Som_B,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) & "Prima Piramide 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(Spia) & " " & Format2(D(1)) & " " & Format2(E(1)),1,0
         Scrivi Space(5) & Format2(Spia) & " " & Format2(D(2)) & " " & Format2(E(2)),1,0
         Scrivi Space(5) & Format2(Spia) & " " & Format2(D(3)) & " " & Format2(E(3)),1,0
         Scrivi Space(5) & Format2(Spia) & " " & Format2(D(4)) & " " & Format2(E(4)),1,0
         Scrivi Space(5) & Format2(Spia) & " " & 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
         'SESTA FILA
         Scrivi
         Scrivi "Per ognuno di questi numeri si deve prendere il corrispondente ",1
         Scrivi "numero nei mezzi pesi della tavola settenaria ",1
         Scrivi
         Scrivi S1(1) & " " & S2(1),1
         Scrivi S1(2) & " " & S2(2),1
         Scrivi S1(3) & " " & S2(3),1
         Scrivi S1(4) & " " & S2(4),1
         Scrivi S1(5) & " " & S2(5),1
         Scrivi
         Scrivi Space(20) & " Sommare i 2 mezzi pesi corrispondenti ",1
         Scrivi
         Scrivi Space(32) & StringaNumeri(PrimoMezzoPeso," ",True) & " +  ",1
         Scrivi Space(32) & StringaNumeri(SecondoMezzoPeso," ",True) & " =  ",1
         Scrivi Space(32) & String((16),"-")
         Scrivi Space(19) & " Pesi Interi " & StringaNumeri(Som," ",True),1
         Scrivi
         Scrivi Space(15) & " Rifare di nuovo la piramidi e invece di mettere la chiave",1,,,2
         Scrivi Space(15) & " uno al terzo posto, mettere i pesi interi calcolati  ",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(Som(1)) & " " & Format2(D2(1)) & " " & Format2(E2(1)),1,0
         Scrivi Space(5) & Format2(Som(2)) & " " & Format2(D2(2)) & " " & Format2(E2(2)),1,0
         Scrivi Space(5) & Format2(Som(3)) & " " & Format2(D2(3)) & " " & Format2(E2(3)),1,0
         Scrivi Space(5) & Format2(Som(4)) & " " & Format2(D2(4)) & " " & Format2(E2(4)),1,0
         Scrivi Space(5) & Format2(Som(5)) & " " & Format2(D2(5)) & " " & Format2(E2(5)),1
         'TERZA FILA
         Scrivi Space(13) & Format2(F2(1)) & " " & Format2(G2(1)),1,0
         Scrivi Space(8) & Format2(F2(2)) & " " & Format2(G2(2)),1,0
         Scrivi Space(8) & Format2(F2(3)) & " " & Format2(G2(3)),1,0
         Scrivi Space(8) & Format2(F2(4)) & " " & Format2(G2(4)),1,0
         Scrivi Space(8) & Format2(F2(5)) & " " & Format2(G2(5)),1
         'QUARTA FILA
         Scrivi Space(16) & Format2(H2(1)) & Space(11) & Format2(H2(2)) & Space(11) & Format2(H2(3)),1,0
         Scrivi Space(11) & Format2(H2(4)) & Space(11) & Format2(H2(5)),1
         'QUINTA FILA
         Scrivi Space(16) & Format2(I2(1)) & Space(11) & Format2(I2(2)) & Space(11) & Format2(I2(3)),1,0,,2
         Scrivi Space(11) & Format2(I2(4)) & Space(11) & Format2(I2(5)),1,,,2
         Scrivi
         Scrivi Space(28) & "Pronostico " & StringaNumeri(I2," ",True),1
         Ruo(1) = R1
         ImpostaGiocata 1,I2,Ruo,Posta,1
         Gioca Es,,,1
      Next
   Next
   ScriviResoconto
End Sub