Page 7 sur 17

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

Publié : sam. 05/nov./2005 21:14
par erix14
(le son est violent quand meme ) , peut etre envisager un son midi doux , comme pour le solitaire ?
Pour le son, tu es le mieux placé pour savoir ce qu'il faut mettre, c'est toi le musicien :wink:
Je suppose que tu as une banque de sons sur ton ordinateur :?: tu as bien un petit sample bien adapté pour cette application. :D

Publié : sam. 05/nov./2005 21:50
par Dr. Dri
un gros sample de guitarre avec la voix de dobro
"votre code a été colorisé"

Dri :lol:

Publié : sam. 05/nov./2005 22:47
par Frenchy Pilou
Je teste :)
On a le droit de faire un "auto test" sur ton propre listing ??

C'est curieux ! Tout a l'air de fonctionner, je colle le résultat dans le "bloc Note" (pour vérification), tout y est, quand je le colle dans l'éditeur du Forum, il en manque un bout ???
Le listing est si long que cela qu'il ne tient pas dans le presse papier ???

Ou alors une fonction de l'éditeur court circuite une fonction qui est dans le listing lui-même???

Publié : sam. 05/nov./2005 23:06
par Dr. Dri
ce serait sympa d'ajouter une icône au colorer dans la barre des tâches ^^
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 :lol:)

faudrait détecter le type de données dans le presse papier (texte hein ^^)

Dri

Publié : sam. 05/nov./2005 23:16
par Backup
On a le droit de faire un "auto test" ?

tous les codes passent sauf ceux qui contiennent des codes bbcode !!!

fallait bien qu'il y ait un malin pour le faire hein Frenchy ? :lol:

d'autant plus que je l'ai deja dit plus haut !
comme j'ai deja dit , que les grands codes risquent de pas etre pris par le forum , car le forum a une capacité reduite de la longueur des messages et les codes de couleur se rajoutent a la longueur du code :D
tout le monde sait ça !..... sauf ..... Frenchy :D :lol:




@erix14:banque de son ? moi ? meme pas !
je joue de la guitare, pas de l'ordinateur :lol:

j'avais trouvé tes sons sur "le solitaire" tres agreable c'est pourquoi j'avais pensé que ....

mais sinon c'est vrais qu'on peut mettre ce qu'on veut, vu que chacun compile chez lui , ça personalise , j'aurai bien vu un son genre
chasse-d'eau que l'on tire :lol:



@Dri :
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 )
ça ma fait pareil !! :lol:

Publié : sam. 05/nov./2005 23:37
par Frenchy Pilou
Alors je fais
j'ouvre ton programme
Je copie le listing dans un "bloc note"
Je ferme ton programme (je ne l'ai pas lancé)
Je lance ton programme
Il me dit qu'il n'y a pas de code dans le presse papier (normal)
Je selectionne tout du "bloc note", je copie
Le programme m'indique "Vous pouvez colorer" (normal)
mais à la fin Mr mikrosoft n'est pas content, il me dit, l'enfoiré
Colorer a rencontré un problème et doit fermer. Nous vous prions de nous excuser pour le désagrément encouru
Alors ???

Quand je fais par l'intérieur du programme, lancement du programme manuel, copie du listing, il bloque à la ligne 205!

Alors on ne peut pas coloriser le programme colorer ? :)

Sinon cela marche avec autre chose, à part les indentations :roll:

; 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


Publié : sam. 05/nov./2005 23:43
par Backup
Alors on ne peut pas coloriser le programme colorer ?
ben non !

je pense que c'est du au depassement de la taille maximum d'une variable chaine de charactere !!

je vais regarder ce probleme ! :D

Publié : sam. 05/nov./2005 23:44
par Backup
tu viens de me donner l'envie de faire une chasse au smiley !! :D

Code : Tout sélectionner

 :)  :D   :(  :o  8O  :?  8)  :lol:  :x   :P  :!:  :?: 
part les indentations
seulement geré par internet explorer !!

les autres navigateurs refusent d'envoyer le code 0160 ! :?

Publié : sam. 05/nov./2005 23:53
par Frenchy Pilou
Et pourquoi, j'ai pas l'indentation???
(que j'ai au départ dans mon listing original ? )
Merci Firefox alors :roll:
Un truc curieux alors, pourquoi je vois certains listings colorisés avec indentations envoyés sur le Forum 8O

La chasse aux smileys, c'est selon, car on a le droit d"émailler ses commentaires de smileys je crois :lol:

Et tu vas buter sur le : qui est permis pour concaténer sur une même ligne :roll:
Pour peu qu'il y ait une ( après, cela va être l'enfer :twisted:

Publié : dim. 06/nov./2005 0:15
par Backup
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

pas du tout !!

j'ai resolu le problem en moins de 3 secondes ! :D
j'ai meme resolu le probleme de la taille des chaines
ça sert d'etre un ancien ici , et d'avoir une bonne memoire ! :D

je poste tout de suite la derniere version corrigé ! :D

Publié : dim. 06/nov./2005 0:20
par Dr. Dri
dobro, explique au moins la nature du probleme et comment tu l'as résolu ^^
ca peut nous servir !!!

Dri :lol:

Publié : dim. 06/nov./2005 0:21
par Backup
le code ci dessous filtre les smiley (malencontreux a cause des :)
et ralonge le buffer de string
ce qui permet d'utiliser colorer avec de plus grand code !!

mais attention , le Forum est limité lui !..... :D

Le forum a un bug , il laisse passer le smiley --> 8O
donc remplacez le par un huit suivi d'un O (la 15 eme lettre de l'alphabet)
dans le listing ci -dessous :D

Publié : dim. 06/nov./2005 0:26
par Backup
Dr. Dri a écrit :dobro, explique au moins la nature du probleme et comment tu l'as résolu ^^
ca peut nous servir !!!

Dri :lol:

pour pas qu'un smiley apparaisse il suffit d'ajouter un petit espace a la suite de ":" c'est ce que je fait pour certaines configuration

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$, ":?", ": ?") 

pour le buffer de text voir la procedure

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 






Publié : dim. 06/nov./2005 0:30
par Backup
l'archive avec les sources (sans les smiley ) sont dispo ici :D
http://michel.dobro.free.fr/bidouilles/colorer.rar


:D