Publié : sam. 05/nov./2005 21:03
C'est vraiment du bon boulot et avec la complicité de Erix14, SUPER!


Pour le son, tu es le mieux placé pour savoir ce qu'il faut mettre, c'est toi le musicien(le son est violent quand meme ) , peut etre envisager un son midi doux , comme pour le solitaire ?
On a le droit de faire un "auto test" ?
ça ma fait pareil !!sinon je viens de me rendre compte en oubliant de le fermer que quand je copie un fichier il réagit (vous n'imaginez pas la frayeur, le son à fond )
Alors ???Colorer a rencontré un problème et doit fermer. Nous vous prions de nous excuser pour le désagrément encouru
; Petit délire Pychadélique dont Dobro m'a dit qu'il avait un nom !
; "Les taches de Martin", moi je n'en savait rien, Pure hasard, on nous cache tout !
; Grosso modo on fait une moyenne des couleurs autour d'un pixel considéré
; que l'on remet dans ce pixel et on recommence
#dobro=1 ; gestion des sprites aimablement expliquée par Dobro
#Police=1
#Sprite=1
spr=1
Dim ecran(1024,778)
For x = 0 To 1023 ; un écran de couleurs aléatoires
For y = 0 To 777
r= Random (255)
g= Random (255)
b= Random (255)
c= RGB (r,g,b) ;Couleur du pixel
ecran(x,y)= c
Next y
Next x
; ***********************************
Resultat = InitSprite ()
FontID = LoadFont ( #Police , " arial ", 18, #PB_Font_Bold )
EcranX = 1024 ;=largeur de l'ecran
EcranY = 778;=hauteur de l'ecran
WindowID = OpenWindow (1, 0, 0, 1024, 778, #PB_Window_SystemMenu | #PB_Window_BorderLess | #PB_Window_ScreenCentered , " Move the mouse slowly in any direction")
WindowID = WindowID (1)
Result = OpenWindowedScreen (WindowID,0,0, 1024, 778, 1, 0,0)
CreateSprite (1, 1024, 778) ; cree 1 sprites qui sert d'ecran 1
CreateSprite (2, 1024, 778) ; cree 1 sprites qui sert d'ecran 2
Repeat ;Boucle principale
Event= WindowEvent ()
GetCursorPos_(CursorPos.POINT) ; position de la souris
MouseX = CursorPos\x
MouseY = CursorPos\y
If xt <> MouseX ; test pour influer la variable m (la moyenne)
If xt> MouseX
m = m -1
Else
m = m+1
EndIf
End If
If yt <> MouseY ; test pour influer la variable s (le seuil)
If yt> MouseY
s = s -1
Else
s = s+1
EndIf
End If
xt=MouseX ; on met en la position de la souris en tampon
yt= MouseY ;
StartDrawing ( SpriteOutput (spr) ) ; on dessine dedans
; trace à l'ecran et test pour avoir une image "torique"
For x = 1 To 1022 ; lignes intérieures
For y = 1 To 776 ;genre de moyenne de couleur autour du pixel considéré
c=ecran(x -1 ,y) + ecran(x+1,y) + ecran(x,y -1 ) + ecran(x,y+1)
Gosub t_race
Next y
Next x
For x = 1 To 1022 ;ligne x 0
c=ecran(x -1 ,0) + ecran(x+1,0) + ecran(x,1) + ecran(x,777)
y=0
Gosub t_race
Next x
For x = 1 To 1022 ;ligne x 479
c=ecran(x -1 ,777) + ecran(x+1,777) + ecran(x,1) + ecran(x,776)
y=777
Gosub t_race
Next x
For y = 1 To 776 ;colonne 0 y
c=ecran(1023,y) + ecran(1,y) + ecran(0,y -1 ) + ecran(0,y+1)
x= 0
Gosub t_race
Next y
For y = 1 To 776 ;colonne 639 y
c=ecran(1022,y) + ecran(0,y) + ecran(1023,y -1 ) + ecran(1023,y+1)
x= 1023
Gosub t_race
Next y
;Les 4 coins
c=ecran(1023,0) + ecran(1,0) + ecran(0,777) + ecran(0,1)
x=0
y=0
Gosub t_race
c=ecran(1023,777) + ecran(1,777) + ecran(0,776) + ecran(0,0)
x=0
y=777
Gosub t_race
c=ecran(1022,0) + ecran(0,0) + ecran(1023,777) + ecran(1023,1)
x=1023
y=0
Gosub t_race
c=ecran(1022,777) + ecran(0,777) + ecran(1023,776) + ecran(1023,0)
x=1023
y=777
Gosub t_race
StopDrawing ()
spr=spr+1
If spr>2
spr=1
EndIf
DisplaySprite (spr, 0, 0)
FlipBuffers ():; affiche l'ecran
ClearScreen (0, 0, 0) :;efface l'ecran
Until Event=#PB_Event_CloseWindow
End
t_race :
If m <4 ; test d'un genre de moyenne de couleur autour du pixel considéré
m = 4
EndIf
If m>40 ; moyenne haute fixée arbitrairement
m=20
EndIf
If s <0 ; seuil de valeur de couleurs défini arbitrairement
s = 1
EndIf
If s>10000
s=10000
EndIf
; c est la couleur finale du pixel
c=c/m ;Genre de moyenne de couleurs des 4 voisins du pixel considéré
; s est le seuil
;C'est la moyenne et le seuil qui déterminent ces genres d'images totalement différentes!
If c<s
c= RGB (125,125,125) ;Si la moyenne de couleurs dépasse un seuil on la normalise
EndIf
ecran(x,y)=c ; nouvelle couleur dans un tableau de l'image
Plot (x,y,c) ; on affiche le pixel avec la nouvelle couleur
Return
ben non !Alors on ne peut pas coloriser le programme colorer ?
Code : Tout sélectionner
:) :D :( :o 8O :? 8) :lol: :x :P :!: :?:
seulement geré par internet explorer !!part les indentations
Et tu va buter sur le : qui est permis pour concaténer sur une même ligne Rolling Eyes
Pour peu qu'il y ait une ( après, cela va être l'enfer Twisted Evil
Dr. Dri a écrit :dobro, explique au moins la nature du probleme et comment tu l'as résolu ^^
ca peut nous servir !!!
Dri
Code : Tout sélectionner
text$=ReplaceString(text$, ":)", ": )")
text$=ReplaceString(text$, ":D", ": D")
text$=ReplaceString(text$, ":o", ": o")
text$=ReplaceString(text$, "8O", "8 O")
text$=ReplaceString(text$, ":?", ": ?")
text$=ReplaceString(text$, "8)", "8 )")
text$=ReplaceString(text$, ":(", ": (")
text$=ReplaceString(text$, ":x", ": x")
text$=ReplaceString(text$, ":P", ": P")
text$=ReplaceString(text$, ":!", ": !")
text$=ReplaceString(text$, ":?", ": ?")
Code : Tout sélectionner
; ********** on redefini la taille du buffer de chaine$ ****************
#StringLength = 1048576
SetStringManipulationBufferSize(#StringLength)
; ********************************************
Procedure SetStringManipulationBufferSize(Bytes)
;***************************************************************
;* Modifie la taille du buffer pour la manipulation de chaînes *
;* par défaut = 63999 octets *
;* A appeler impérativement avant toute utilisation de chaînes *
;***************************************************************
PBStringBase.l = 0
PBMemoryBase.l = 0
!MOV eax, dword [PB_StringBase]
!MOV [esp+4],eax
!MOV eax, dword [PB_MemoryBase]
!MOV [esp+8],eax
HeapReAlloc_(PBMemoryBase, #GMEM_ZEROINIT, PBStringBase, Bytes)
!MOV dword [_PB_StringBase],eax
EndProcedure