BlitzItalia
 
Advanced Search
   
 
Home Registrati FAQ Lista utenti Gruppi  
 
 

Indice del forum Code Snippets B3D-Quadretto Grigio Sfumato
Mostra prima i messaggi di:   
      Tutti i fusi orari sono GMT  
Nuovo argomento  Rispondi

Sab Set 19, 2009 12:32 pm
Autore Messaggio
EsseEmmeErre



Registrato: 08/05/06 19:56
Messaggi: 148
Residenza: Italia

Oggetto: B3D-Quadretto Grigio Sfumato Rispondi citando

Anno Del Signore 2009, settembre 19, sabato

Ciao a tutti, sono sempre io, EsseEmmeErre! Very Happy
Ho passato la mattina a perfezionare un mio nuovo programma che genera un quadrato grigio con bordi sfumati; praticamente dovrebbe somigliare ad un tasto grigio di una tastiera per computer senza la lettera; per ottenere il massimo della perfezione vi suggerisco di inserire una grandezza del lato maggiore di venti (ovviamente) e multipla di quattro.
Ecco qui il programmino:
Codice:

;-> Quadretto grigio sfumato by EsseEmmeErre
;i> Sat 19 Sep 2009
;-------------------
AppTitle("Quadretto by EsseEmmeErre","Vuoi uscire?")
Const ASCIITastoS=115
Const FormaPiena=1
Const FormaVuota=0
Const NumeroZeroASCII=48
Const YPosQuadretto=26
Print("Grandezza del quadretto in punti (20-261)?")
Repeat
 Locate(0,FontHeight()):Color(255,255,255)
 Write("Digita:"):Color(0,0,0):Write(ValoreDigitato$)
 Locate(0,FontHeight()):Color(255,255,255)
 ValoreDigitato$=Input$("Digita:")
 GrandezzaQuadretto=ControlloNumero(ValoreDigitato$)
 If GrandezzaQuadretto<20 Or GrandezzaQuadretto>261 Then GrandezzaQuadretto=0
Until GrandezzaQuadretto>0
Color(127,127,127):Rect(0,YPosQuadretto,GrandezzaQuadretto,GrandezzaQuadretto,FormaPiena)
For YPunto=0 To GrandezzaQuadretto-1
 For XPunto=0 To GrandezzaQuadretto-1
  DisegnaIlPunto=False
  If YPunto<GrandezzaQuadretto/4-1 Or YPunto>GrandezzaQuadretto*3/4
   DisegnaIlPunto=True
  Else
   If XPunto<GrandezzaQuadretto/4-1 Or XPunto>GrandezzaQuadretto*3/4
    DisegnaIlPunto=True
   EndIf
  EndIf
  If DisegnaIlPunto=True Then
   Grigio=255-255*(XPunto+YPunto)/(GrandezzaQuadretto+GrandezzaQuadretto)
   Color(Grigio,Grigio,Grigio):Plot(XPunto,YPosQuadretto+YPunto)
  EndIf
 Next
Next
Color(255,255,255)
Locate(0,GraphicsHeight()-FontHeight()):Write("Vuoi salvare il quadretto (s/n)?")
TastoPremuto=WaitKey()
If TastoPremuto=ASCIITastoS Then
 ImmagineQuadretto=CreateImage(GrandezzaQuadretto,GrandezzaQuadretto)
 GrabImage(ImmagineQuadretto,0,YPosQuadretto)
 NomeImmagineQuadretto$="QuadrettoGrigioSfumato"+Str(GrandezzaQuadretto)+".BMP"
 SaveImage(ImmagineQuadretto,NomeImmagineQuadretto$)
 FreeImage(ImmagineQuadretto)
 Color(0,0,0):Locate(0,GraphicsHeight()-FontHeight()):Write("Vuoi salvare il quadretto (s/n)?")
 Color(255,255,255):Locate(0,GraphicsHeight()-FontHeight())
 Write(NomeImmagineQuadretto$):Write(" salvato...")
 Delay(2000)
EndIf
Color(0,0,0)
Locate(0,GraphicsHeight()-FontHeight()):Write("Vuoi salvare il quadretto (s/n)?")
Locate(0,GraphicsHeight()-FontHeight()):Write(NomeImmagineQuadretto$):Write(" salvato...")
Color(255,255,255)
Locate(0,GraphicsHeight()-FontHeight()):Write("Premi un tasto per uscire...")
WaitKey()
End
Function ControlloNumero(ValoreDigitato$)
If Len(ValoreDigitato$)>0 Then
 For Carattere=Len(ValoreDigitato$) To 1 Step -1
  Cifra=Asc(Mid$(ValoreDigitato$,Len(ValoreDigitato$)-Carattere+1,1))-NumeroZeroASCII
  If Cifra>=0 And Cifra<10 Then
   MultiploDiDieci=0:ContoDeiMultipli=0
   Repeat
    MultiploDiDieci=MultiploDiDieci*10
    If MultiploDiDieci=0 Then MultiploDiDieci=1
    ContoDeiMultipli=ContoDeiMultipli+1
   Until ContoDeiMultipli=Carattere
   Numero=Numero+Cifra*MultiploDiDieci
  Else
   If Cifra=Asc("-")-NumeroZeroASCII And Carattere=Len(ValoreDigitato$) Then
    NumeroNegativo=True
   Else
    Numero=0
   EndIf
  EndIf
 Next
 If NumeroNegativo=True Then Numero=-Numero
EndIf
Return Numero
End Function

Sembra una scemata ma forse non lo è; ciao ed alla prossima! Very Happy
_________________
Ciao a tutti da EsseEmmeErre!
 
Profilo Invia messaggio privato HomePage
      Back To Top  
Nuovo argomento  Rispondi

 
Non puoi inserire nuovi argomenti
Non puoi rispondere a nessun argomento
Non puoi modificare i tuoi messaggi
Non puoi cancellare i tuoi messaggi
Non puoi votare nei sondaggi


      Back To Top  

Pagina 1 di 1
Vai a:  
Powered by phpBB © 2001, 2002 phpBB Group
phpbb.it
Avalanche style by What Is Real © 2004