R 
		
				
			
		Roby
Guest
Ciao a tutti
Come faccio a modificare lo script sottostante?
1)- Mi deve disegnare un cerchio composto da 99 numeri, dove il "99" è a mezzogiorno.
2)- Mi deve chiedere la ruota dove agire.
3)- Mi evidenzia tutto quello che c'è da mostrare dell'ultima estrazione in archivio.(corde, distanze etc...).
4)- Mi deve dare la possibilità, se richiesto, di inserire 5 numeri a piacere.
Mi servirebbe anche la versione a "100".
Voglio verificare teorie assurde...
Grazie
	
	
	
		
				
			Come faccio a modificare lo script sottostante?
1)- Mi deve disegnare un cerchio composto da 99 numeri, dove il "99" è a mezzogiorno.
2)- Mi deve chiedere la ruota dove agire.
3)- Mi evidenzia tutto quello che c'è da mostrare dell'ultima estrazione in archivio.(corde, distanze etc...).
4)- Mi deve dare la possibilità, se richiesto, di inserire 5 numeri a piacere.
Mi servirebbe anche la versione a "100".
Voglio verificare teorie assurde...
Grazie
		Codice:
	
	Option Explicit
Dim aPos(90,2) ' memorizza le coordinate relative ai 90 numeri
Sub Main
   Dim nRaggio ' raggio ddel cerchio
   Dim cX,cY ' centro del cerchio x e y
   Dim Base,Altezza ' dimensioni area disegno
   Dim Angolo ' gestisce il ciclo per disegnare il cerchio
   Dim pi ' pigreco
   Dim x1,y1,x2,y2 ' coordinate generiche pr i segmenti
   Dim cLung ' distanza per stampare i gradi
   Dim k ' ciclo generico
   Dim n
   Dim z
   cLung = 2
   pi = 3.14
   Base = 150
   Altezza = 150
   nRaggio = 60
   ' preimposto le dimensioni dell'area
   Call PicSetDimensioni(Base,Altezza,Base,Altezza)
   ' calcolo il centro del cerchio
   cX = Base / 2
   cY = Altezza / 2
   Call PicCerchio(cX,cY,nRaggio)
   Angolo = 360
   n = 91
   ' ciclo per disegnare i semiraggi
   For z = 90 To 540 Step 4
      Angolo = FuoriX(z,360)
      ' calcolo cordinate per il segmento raggio
      x1 = cX +((nRaggio) * Cos(- Angolo *(pi / 180)))
      y1 = cY +((nRaggio) * Sin(- Angolo *(pi / 180)))
      ' memorizzo nell'array globale le coordinate appena calcolate
      ' cosi potranno essere riusate per disegnare le corde
      n = n - 1
      aPos(n,1) = x1
      aPos(n,2) = y1
      If n Mod 10 = 0 Then
         ' ogni 5 gradi disegno un semiraggio un po' piu lungo
         ' e stampo i gradi in corripondenza
         x2 = cX +((nRaggio + cLung*3) * Cos(- Angolo *(pi / 180)))
         y2 = cY +((nRaggio + cLung*3) * Sin(- Angolo *(pi / 180)))
         Call PicLinea(x1,y1,x2,y2)
         x2 = cX +((nRaggio + cLung*4) * Cos(-(Angolo + 2) *(pi / 180)))
         y2 = cY +((nRaggio + cLung*4) * Sin(-(Angolo + 2) *(pi / 180)))
         Call PicStampaTestoRT(x2,y2,n,Angolo)
      Else
         ' disegno il semiraggio
         x2 = cX +((nRaggio + cLung) * Cos(- Angolo *(pi / 180)))
         y2 = cY +((nRaggio + cLung) * Sin(- Angolo *(pi / 180)))
         Call PicLinea(x1,y1,x2,y2)
         x2 = cX +((nRaggio + cLung) * Cos(-(Angolo + 2) *(pi / 180)))
         y2 = cY +((nRaggio + cLung) * Sin(-(Angolo + 2) *(pi / 180)))
         Call PicStampaTestoRT(x2,y2,n,Angolo)
      End If
      If n = 0 Then Exit For
   Next
   '    come esempio disegno un poligono di lato 18
   For k = 90 To 1 Step - 18
      Call DisegnaCorda(k,Fuori90(k - 18),vbRed)
   Next
   ' mostro la figura in output
   Call PicEsegui
End Sub
Sub DisegnaCorda(p1,p2,colore)
   ' p1 e p2 sono i gradi a cui si riferiscono inizio e fine della corda
   'Call PicLineaTratteggiata(aPos(p1,1),aPos(p1,2),aPos(p2,1),aPos(p2,2),colore)
   Call PicLinea(aPos(p1,1),aPos(p1,2),aPos(p2,1),aPos(p2,2),colore)
   Call PicPunto(aPos(p1,1),aPos(p1,2),6,colore)
   Call PicPunto(aPos(p2,1),aPos(p2,2),6,colore)
End Sub