the colorer

Vous avez développé un logiciel en PureBasic et vous souhaitez le faire connaitre ?
Avatar de l’utilisateur
Chris
Messages : 3731
Inscription : sam. 24/janv./2004 14:54
Contact :

Message par Chris »

Moi, la question que je me pose, c'est : "A quoi ça sert, de colorer les fonctions dans le forum ?"

En principe, le code, on le copie et on l'étudie dans l'éditeur, pas dans le post.

Personnellement, que le code soit vert, bleu, rouge, ou noir, ça ne me fait ni chaud ni froid.
Par contre, dans l'éditeur, là, c'est vraiment un plus de pouvoir distinguer rapidement le fonctions, mots-clé, variable, etc...

Ce n'est pas une critique, je le rappelle, c'est un simple point de vue. :wink:
Dr. Dri
Messages : 2527
Inscription : ven. 23/janv./2004 18:10

Message par Dr. Dri »

Sur le forum c'est pas top... J'utilise pas le thème par défaut et du coup avec les couleurs que vous choisissez ca n'est plus vraiment lisible. Sinon l'utilité c'est que le BBcode étant assez proche de l'html, on peut facilement transformer ca pour générer une page web ^^

Dri
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

pour repondre a la question , je trouve que c'est utile car c'est plus jolie
souvent je regarde les code avant de le recuperer , cela permet, d'avoir une meilleur visibilité (j'y travail ! :D)

pour les couleur , je suis bien d'accord , aussi comme personne n'a le meme theme , on finira bien par trouver des couleurs intermediaire
qui passeron partout !

c'est pourquoi j'ai tpujours besoin de votre avis ! :D

j'ai completement refait mon code , du coup plein de bleme en moins !

je peux choisir les couleurs directement avec le selecteur de couleur du purebasic , ce qui permet une plus grande manoeuvre !

mais je ne laisserai pas cette possibilité a l'usagé , car dans un forum a plusieurs theme , ça risque d'etre fouilli !

je compte sur vous pour m'aider a trouver des couleur plaisante pour tout vos theme , ça doit bien etre possible non ?


PS : cette version n'est pas encore telechargeable ! :D

voici un exemple :

; prg realisé par Dobro

#dobro=1
#Police=1
#Sprite=1
Declare.s super_collision(sprite_numero1, x_sprite1, y_sprite1, sprite_numero2, x_sprite2, y_sprite2)
; cette procedure renvoie du quelle coté le sprite a été touché !

; sprite_numero1= le numero du sprite 1 a tester
; largeur_spr1 = largeur en pixel du sprite numero 1
; hauteur_spr1 = hauteur en pixel du sprite numero 1
; x_sprite1 = coordonée X du sprite numero 1
; y_sprite1=coordonée Y du sprite numero 1
; --------------------------------------------------------------------------
; sprite_numero2= le numero du sprite 2 a tester
; largeur_spr2 = largeur en pixel du sprite numero 2
; hauteur_spr12 = hauteur en pixel du sprite numero 2
; x_sprite2 = coordonée X du sprite numero 2
; y_sprite2 coordonée Y du sprite numero 2

Enumeration
   #sprite_cible
   #sprite_souris
   #sprite_text
EndEnumeration

Structure sprite
  x.w
  y.w
EndStructure
Dim sprite.sprite(1)
Dim ecran(640,400)
For x = 0 To 640 ; un écran de couleurs aléatoires
   For y = 0 To 400
    r= Random (255)
    g= Random (255)
    b= Random (255)
    c= RGB (r,g,b)
    ecran(x,y)= c
   Next y
Next x
; ***********************************
Resultat = InitSprite ()
;FontID = LoadFont(#Police, "arial", 18, #PB_Font_Bold )
;EcranX = GetSystemMetrics_(#SM_CXSCREEN):;=largeur de l'ecran
;EcranY = GetSystemMetrics_(#SM_CYSCREEN):;=hauteur de l'ecran
    ;WindowID = OpenWindow(1, 0, 0, 800, 600, #PB_Window_SystemMenu|#PB_Window_BorderLess |#PB_Window_ScreenCentered , "hello")
  
WindowID = WindowID (1)
Result = OpenWindowedScreen (WindowID,0,0, 800, 600, 1, 0,0)
CreateSprite ( #sprite_cible , 128, 64) ; sprite exemple
StartDrawing ( SpriteOutput ( #sprite_cible ) ) ; on dessine dedans
Box (0, 0, 128, 64, RGB ($FF,$0,$80))
StopDrawing ()
CreateSprite ( #sprite_souris , 32, 32) ; sprite souris
StartDrawing ( SpriteOutput ( #sprite_souris ) ) ; on dessine dedans
  ;Box(0, 0, 64, 64,RGB($13,$F8,$7))
Circle (16, 16, 16, RGB ($13,$F8,$7))
StopDrawing ()
bord$=" aucun bord "
CreateSprite ( #sprite_text , 150,14) ; le text
StartDrawing ( SpriteOutput ( #sprite_text ) ) ; on dessine dedans
DrawText (bord$)
StopDrawing ()
Resultat = InitMouse ()
Repeat
   ExamineMouse ()
  Event= WindowEvent ()
   DisplaySprite ( #sprite_cible , WindowWidth () /2, WindowHeight ()/2)
  sprite(1)\x= WindowWidth ()/2
  sprite(1)\y= WindowHeight ()/2
   DisplaySprite ( #sprite_souris , MouseX (), MouseY ())
   DisplaySprite ( #sprite_text , 10, 10)
  bord$=super_collision( #sprite_cible , sprite(1)\x,sprite(1)\y, #sprite_souris , MouseX (), MouseY ())
   StartDrawing ( SpriteOutput ( #sprite_text ) ) ; on dessine dedans
   DrawingMode (0)
   DrawText (bord$)
   DrawText (" ")
   StopDrawing ()
   If MouseButton (2)
    End
   Endif
   FlipBuffers ():; affiche l'ecran
   ClearScreen (0, 0, 0) :;efface l'ecran
Until Event=#PB_Event_CloseWindow
  
Procedure super_collision(sprite_numero1, x_sprite1, y_sprite1, sprite_numero2, x_sprite2, y_sprite2)
  spr1_milieu_x=x_sprite1+ SpriteWidth (sprite_numero1) /2
  spr1_milieu_y=y_sprite1+ SpriteHeight (sprite_numero1)/2
  spr2_milieu_x=x_sprite2+ SpriteWidth (sprite_numero2)/2
  spr2_milieu_y=y_sprite2+ SpriteHeight (sprite_numero2)/2
  spr1_hauteur= SpriteHeight (sprite_numero1)
  spr1_largeur= SpriteWidth (sprite_numero1)
  spr2_hauteur= SpriteHeight (sprite_numero2)
  spr2_largeur= SpriteWidth (sprite_numero2)
  bord$=""
   If SpriteCollision (sprite_numero1,x_sprite1, y_sprite1,sprite_numero2,x_sprite2, y_sprite2)
     If bord$<>""
       Goto dobrosuite
     Endif
     If (spr2_milieu_x)>x_sprite1 And (spr2_milieu_x)<(x_sprite1+spr1_largeur) And (spr2_milieu_y)>(y_sprite1+spr1_hauteur )
      bord$=" bas "
       Goto dobrosuite
     Endif
     If (spr2_milieu_x)>x_sprite1 And (spr2_milieu_x)<(x_sprite1+spr1_largeur) And (spr2_milieu_y)<y_sprite1
      bord$=" haut "
       Goto dobrosuite
     Endif
     If (spr2_milieu_y)>y_sprite1 And (spr2_milieu_y)<(y_sprite1+spr1_hauteur) And (spr2_milieu_x)>(x_sprite1+spr1_largeur)
      bord$=" droit "
       Goto dobrosuite
     Endif
     If (spr2_milieu_y)>y_sprite1 And (spr2_milieu_y)<(y_sprite1+spr1_hauteur) And (spr2_milieu_x)<x_sprite1
      bord$=" gauche "
       Goto dobrosuite
     Endif
     If (spr2_milieu_x)<x_sprite1 And (spr2_milieu_y)<y_sprite1
      bord$=" haut-gauche "
     Endif
     If (spr2_milieu_x)>x_sprite1+spr1_largeur And (spr2_milieu_y)<y_sprite1
      bord$=" haut-droit "
     Endif
     If (spr2_milieu_y)>y_sprite1+spr1_hauteur And (spr2_milieu_x)<x_sprite1
      bord$=" bas-gauche "
     Endif
     If (spr2_milieu_y)>y_sprite1+spr1_hauteur And (spr2_milieu_x)>x_sprite1+spr1_largeur
      bord$=" bas-droit "
     Endif
   Endif
  dobrosuite:
   ProcedureReturn bord$
EndProcedure
  
  
  
  
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

d'autre part , si une couleur vous arrache la vue , dites moi laquelle et si il faut que je la fonce ou l'eclaircisse !! ?
ou que je la change , et par quoi ? :D
Avatar de l’utilisateur
Chris
Messages : 3731
Inscription : sam. 24/janv./2004 14:54
Contact :

Message par Chris »

Le vert ("; prg realisé par Dobro") et le jaune ("#dobro=1") sont un peu pâles quand ils sont sur du blanc.
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

apres moult essai sur quasi tous les themes
il en resulte que mon prg est incompatible avec
les 2 themes suivant : DarkEQ et Cobalt

pour ceux qui aime les fond sombre, ces themes peuvent etre avantagesement remplacé par : Spacepilote3K et WS(DarkBlue)
sinon pour le reste ça passe carrement ! (meme les themes a fond jaune)

:D

Pour ceux que cela interresse, Colorer est telechargeable


voici un exemple de ce que cela donne :

; prg realisé par Dobro

#dobro=1
#Police=1
#Sprite=1
Declare.s super_collision(sprite_numero1, x_sprite1, y_sprite1, sprite_numero2, x_sprite2, y_sprite2)
; cette procedure renvoie du quelle coté le sprite a été touché !

; sprite_numero1= le numero du sprite 1 a tester
; largeur_spr1 = largeur en pixel du sprite numero 1
; hauteur_spr1 = hauteur en pixel du sprite numero 1
; x_sprite1 = coordonée X du sprite numero 1
; y_sprite1=coordonée Y du sprite numero 1
; --------------------------------------------------------------------------
; sprite_numero2= le numero du sprite 2 a tester
; largeur_spr2 = largeur en pixel du sprite numero 2
; hauteur_spr12 = hauteur en pixel du sprite numero 2
; x_sprite2 = coordonée X du sprite numero 2
; y_sprite2 coordonée Y du sprite numero 2

Enumeration
#sprite_cible
#sprite_souris
#sprite_text
EndEnumeration

Structure sprite
x.w
y.w
EndStructure
Dim sprite.sprite(1)
Dim ecran(640,400)
For x = 0 To 640 ; un écran de couleurs aléatoires
For y = 0 To 400
r= Random (255)
g= Random (255)
b= Random (255)
c= RGB (r,g,b)
ecran(x,y)= c
Next y
Next x
; ***********************************
Resultat = InitSprite ()
;FontID = LoadFont(#Police, "arial", 18, #PB_Font_Bold )
;EcranX = GetSystemMetrics_(#SM_CXSCREEN):;=largeur de l'ecran
;EcranY = GetSystemMetrics_(#SM_CYSCREEN):;=hauteur de l'ecran
;WindowID = OpenWindow(1, 0, 0, 800, 600, #PB_Window_SystemMenu|#PB_Window_BorderLess |#PB_Window_ScreenCentered , "hello")

WindowID = WindowID (1)
Result = OpenWindowedScreen (WindowID,0,0, 800, 600, 1, 0,0)
CreateSprite ( #sprite_cible , 128, 64) ; sprite exemple
StartDrawing ( SpriteOutput ( #sprite_cible ) ) ; on dessine dedans
Box (0, 0, 128, 64, RGB ($FF,$0,$80))
StopDrawing ()
CreateSprite ( #sprite_souris , 32, 32) ; sprite souris
StartDrawing ( SpriteOutput ( #sprite_souris ) ) ; on dessine dedans
;Box(0, 0, 64, 64,RGB($13,$F8,$7))
Circle (16, 16, 16, RGB ($13,$F8,$7))
StopDrawing ()
bord$=" aucun bord "
CreateSprite ( #sprite_text , 150,14) ; le text
StartDrawing ( SpriteOutput ( #sprite_text ) ) ; on dessine dedans
DrawText (bord$)
StopDrawing ()
Resultat = InitMouse ()
Repeat
ExamineMouse ()
Event= WindowEvent ()
DisplaySprite ( #sprite_cible , WindowWidth () /2, WindowHeight ()/2)
sprite(1)\x= WindowWidth ()/2
sprite(1)\y= WindowHeight ()/2
DisplaySprite ( #sprite_souris , MouseX (), MouseY ())
DisplaySprite ( #sprite_text , 10, 10)
bord$=super_collision( #sprite_cible , sprite(1)\x,sprite(1)\y, #sprite_souris , MouseX (), MouseY ())
StartDrawing ( SpriteOutput ( #sprite_text ) ) ; on dessine dedans
DrawingMode (0)
DrawText (bord$)
DrawText (" ")
StopDrawing ()
If MouseButton (2)
End
Endif
FlipBuffers ():; affiche l'ecran
ClearScreen (0, 0, 0) :;efface l'ecran
Until Event=#PB_Event_CloseWindow

Procedure super_collision(sprite_numero1, x_sprite1, y_sprite1, sprite_numero2, x_sprite2, y_sprite2)
spr1_milieu_x=x_sprite1+ SpriteWidth (sprite_numero1) /2
spr1_milieu_y=y_sprite1+ SpriteHeight (sprite_numero1)/2
spr2_milieu_x=x_sprite2+ SpriteWidth (sprite_numero2)/2
spr2_milieu_y=y_sprite2+ SpriteHeight (sprite_numero2)/2
spr1_hauteur= SpriteHeight (sprite_numero1)
spr1_largeur= SpriteWidth (sprite_numero1)
spr2_hauteur= SpriteHeight (sprite_numero2)
spr2_largeur= SpriteWidth (sprite_numero2)
bord$=""
If SpriteCollision (sprite_numero1,x_sprite1, y_sprite1,sprite_numero2,x_sprite2, y_sprite2)
If bord$<>""
Goto dobrosuite
Endif
If (spr2_milieu_x)>x_sprite1 And (spr2_milieu_x)<(x_sprite1+spr1_largeur) And (spr2_milieu_y)>(y_sprite1+spr1_hauteur )
bord$=" bas "
Goto dobrosuite
Endif
If (spr2_milieu_x)>x_sprite1 And (spr2_milieu_x)<(x_sprite1+spr1_largeur) And (spr2_milieu_y)<y_sprite1
bord$=" haut "
Goto dobrosuite
Endif
If (spr2_milieu_y)>y_sprite1 And (spr2_milieu_y)<(y_sprite1+spr1_hauteur) And (spr2_milieu_x)>(x_sprite1+spr1_largeur)
bord$=" droit "
Goto dobrosuite
Endif
If (spr2_milieu_y)>y_sprite1 And (spr2_milieu_y)<(y_sprite1+spr1_hauteur) And (spr2_milieu_x)<x_sprite1
bord$=" gauche "
Goto dobrosuite
Endif
If (spr2_milieu_x)<x_sprite1 And (spr2_milieu_y)<y_sprite1
bord$=" haut-gauche "
Endif
If (spr2_milieu_x)>x_sprite1+spr1_largeur And (spr2_milieu_y)<y_sprite1
bord$=" haut-droit "
Endif
If (spr2_milieu_y)>y_sprite1+spr1_hauteur And (spr2_milieu_x)<x_sprite1
bord$=" bas-gauche "
Endif
If (spr2_milieu_y)>y_sprite1+spr1_hauteur And (spr2_milieu_x)>x_sprite1+spr1_largeur
bord$=" bas-droit "
Endif
Endif
dobrosuite:
ProcedureReturn bord$
EndProcedure




Dernière modification par Backup le mar. 27/déc./2005 14:24, modifié 1 fois.
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Message par nico »

Ce qui serait bien ce serait d'en faire un plugin pour JaPBe et Purebasic; comme ça on l'utilise en même temps que l'éditeur et ça évite de devoir lancer un truc en plus. :)
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

nico a écrit :Ce qui serait bien ce serait d'en faire un plugin pour JaPBe et Purebasic; comme ça on l'utilise en même temps que l'éditeur et ça évite de devoir lancer un truc en plus. :)
heu plugins ? 8O

moi j'ai mis le fichier compillé dans les outils de japbe, comme ça je l'appelle si besoin ! :D

on peut faire autrement ??

sinon je tien a vous metre en garde , pour l'instant il est pas encore tout a fait terminé !! il reste quelques bug , notament sur certaines fonction mathematique, genre si l'on fait un procedure nommé Arcsin()
mon programme va etre largué car il interpretera ça comme
ARC() SIN() !! :lol: du coup il va inserer les code couleur, la ou il faut pas , mais je vais arranger ça !! ... :? :D
Avatar de l’utilisateur
Chris
Messages : 3731
Inscription : sam. 24/janv./2004 14:54
Contact :

Message par Chris »

Dobro a écrit :heu plugins ? 8O

moi j'ai mis le fichier compillé dans les outils de japbe, comme ça je l'appelle si besoin ! :D

on peut faire autrement ??
Oui, tu peux créer un plugin pour jaPBe, mais ça n'a strictement aucun avantage, (ni aucun intérêt, d'ailleurs...), vu que pour le lancer, il faut faire exactement la même manip qu'avec un autre outil utilisateur: Menu "outils", et sélectionner celui que tu veux utiliser.

En plus, en plugin, tu ne peux pas l'utiliser tout seul, il faut lancer jaPBe avant.

Donc, pas utilisable avec PureBasic
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Message par nico »

@Dobro,

Ce que je voulais dire, c'est que tel qu'il est ton prog, il travaille avec le presse papier et pas avec le fichier temporaire de jAPBe ou Purebasic, dans ce cas on a pas besoin du bouton surtout pour le faire travailler en invisible; donc je pensais à une version plus adaptée.

Je ne sais pas si je suis le seul, mais si je manipule du code; j'ai forcément mon éditeur d'ouvert! :lol: et je l'essaye avant de poster d'où ma demande. :wink:

Rien n'empêche de faire deux versions, non?


@Chris,
Je ne sais pas pourquoi Purebasic ne pourrait pas faire la même chose que jaPBe, il intègre les outils personnalisés lui aussi ?
Avatar de l’utilisateur
Chris
Messages : 3731
Inscription : sam. 24/janv./2004 14:54
Contact :

Message par Chris »

nico a écrit :@Chris,
Je ne sais pas pourquoi Purebasic ne pourrait pas faire la même chose que jaPBe, il intègre les outils personnalisés lui aussi ?
Les outils personnalisés, oui, mais pas les plugins. (A moins qu'ils aient été intégrés à la dernière version de l'éditeur)

Par exemple, les plugins de jaPBe ne peuvent être lancés qu'à partir de jaPBe, et pas depuis l'éditeur de Pure, ni comme applications indépendantes.

Voilà ce qu'on obtient si on essaie de les lancer depuis Pure ou tout seuls.
---------------------------
ReadMe
---------------------------
This is a jaPBe-Plugin
You can't run it without jaPBe
---------------------------
OK
---------------------------
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Message par nico »

Quand je parlais de plugin, je voulais dire outils personnalisés; je croyais que ça revenait au même! :oops:
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

bon la derniere version Compillée est dispo toujours au meme endroit

et voici ................. Le SOURCE COMENTé !!!! :D

je n'utilise pas les couleurs car il y a des code de couleur dans le source !!
Dernière modification par Backup le sam. 14/juin/2008 11:27, modifié 3 fois.
Avatar de l’utilisateur
Chris
Messages : 3731
Inscription : sam. 24/janv./2004 14:54
Contact :

Message par Chris »

Pas mal!
Et les datas, tu les a rentrées à la main?

Parce que ça aurait été plus simple d'aller les chercher dans le fichier "PBFunctionListing.txt" qui se trouve dans le dossier "Compilers", et en prime, tu avais toutes les fonctions des libs utilisateur.
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

Chris a écrit :Pas mal!
Et les datas, tu les a rentrées à la main?

Parce que ça aurait été plus simple d'aller les chercher dans le fichier "PBFunctionListing.txt" qui se trouve dans le dossier "Compilers", et en prime, tu avais toutes les fonctions des libs utilisateur.

Ha ? ben je savai pas !! :lol: j'ai tout entré a la main ! :lol:

je suis un besogneux lorsque je mis met :lol:

c'est dans ma nature !, j'ai jamais apris les table de multiplication
du coup j'ecris des tas de bout de papier , je reinvente la roue !
pour la table des 9 j'ecris le zero en bas , et j'increment jusqu'a 9
et a droite du neuf j'ecris zero et j'incremente jusqu'en bas !
comme ça la table des 9 m'aparait ! :lol:

c'est peut etre idiot , et ça me fait perdre beaucoup de temps , mais
j'ai jamais pus aprendre les tables par coeur !
a coté de ça je vais te jouer un Morceau de gitare avec des centaines de notes a l'interieur , Comme quoi la Memoire .. :lol:

T'aurai pu me le dire plus tot quand meme :mad: pour le PBFunctionListing.txt :lol:
Répondre