Search this site
Embedded Files
Mon BBC SDL pas à pas
  • Accueil
  • BBC BASIC
  • BBC OS
  • BBC MODULES
  • RUBRIQUES
  • LIENS
Mon BBC SDL pas à pas
  • Accueil
  • BBC BASIC
  • BBC OS
  • BBC MODULES
  • RUBRIQUES
  • LIENS
  • More
    • Accueil
    • BBC BASIC
    • BBC OS
    • BBC MODULES
    • RUBRIQUES
    • LIENS

⇨ MENU ⇨ BBC BASIC

GCOL

DESCRIPTION.


L'instruction GCOL définit la couleur logique d'avant-plan et d'arrière-plan.




SYNTAXE.


GCOL couleur 

GCOL mode , couleur 




REMARQUES.


couleur doit être un nombre entier compris entre 0 et 255. si couleur est :

- inférieur à 128, l'instruction GCOL modifie la couleur logique de l'avant-plan ;

- supérieur à 127, l'instruction GCOL modifie la couleur de l'arrière-plan.


Si couleur est supérieur au nombre de couleurs de la palette : 2, 4 ou 16 selon le mode de la fenêtre de sortie, la couleur sélectionnée sera calculée comme suit, où max est le nombre de couleurs dans la palette : 

- couleur MOD max si couleur est inférieur à 128 ; 

- 128 + ( couleur MOD max ) si couleur est supérieur à 127.


- mode est un nombre entier qui détermine le mode des futurs tracés. Si mode est absent, sa valeur par défaut est 0, et couleur sera appliqué à tous les nouveaux tracés. Sinon mode peut valoir :

- 0, les tracés se feront avec couleur ;

- 1, OR binaire de couleur avec la couleur présente ;

- 2, AND binaire de couleur avec la couleur présente ;

- 3, XOR binaire de couleur avec la couleur présente ;

- 4, inverse la couleur présente (couleur n'est pas pris en compte dans ce mode) ;

- 5, ne faites rien (les opérations sont interdites) ;

- 6, AND binaire inverse de couleur avec la couleur présente ;

- 7, OR binaire et inverse de couleur avec la couleur présente ;



L'instruction GCOL ne se contente pas de modifier la couleur logique d'avant-plan ou d'arrière-plan, elle définit également comment cette couleur interagit avec les pixels déjà présents à l'écran. C'est ce qu'on appelle les "modes d'opération". Si le paramètre mode est présent à l'appel de l'instruction GCOL sa valeur détermine comment la nouvelle couleur sera combinée avec la couleur présente sur les pixels qui devront être redessinés par des instructions de dessin. 


La nouvelle couleur du pixel est le résultat d'une opération bit à bit de la couleur présente et de couleur, avec un :

- OR binaire, pour chaque bit de couleur, si le bit correspondant du pixel OU de couleur est 1, le bit vaut 1, sinon, 0 ;

- AND binaire, pour chaque bit de couleur, si le bit correspondant du pixel ET de couleur est 1, le bit vaut 1, sinon, 0 ;

- XOR binaire, pour chaque bit de couleur, si un et un seul bit correspondant du pixel OU de couleur est 1, le bit vaut 1, sinon, 0 ;

- inverse, pour chaque bit de couleur, si le bit correspondant est 1, le bit vaut 0, sinon, 1.



Même si une instruction GCOL modifie la couleur d'arrière-plan, la totalité du fond de la fenêtre de sortie ne sera modifiée, avec cette nouvelle couleur, qu'après l'utilisation de l'instruction CLG.



Pour connaitre quelles sont les couleurs actuellement sélectionnées, on utilisera la variable système : 

- @vdu.g.b&, qui retourne la couleur d'avant-plan pour les dessins ;

- @vdu.g.d&, qui retourne la couleur d'arrière-plan actuelle pour les dessins.


MODE 8

REPEAT

GCOL RND( 15 )

GCOL 128 + RND( 15 )

CLG

CIRCLE FILL 640 , 512 , 150

WAIT( 20 )

PRINT TAB( 0 , 0 ) "couleur des dessins : " ; @vdu.g.b&

PRINT "couleur du fond : " ; @vdu.g.d&

PRINT 

PRINT "Appuyer Q pour quitter ou sur une autre touche pour continuer."

kchoix$ = GET$

UNTIL kchoix$ = "Q" OR kchoix$ = "q"

END



Les couleurs du texte, d'avant-plan et d'arrière-plan ne sont pas modifiées par une instruction GCOL, sauf après une instruction CLG. voir COLOUR pour plus de détails sur les couleurs d'affichage des textes. 


Pour personnaliser la palette de couleurs de la fenêtre de sortie, voir l'instruction COLOUR.



GCOL couleur et VDU 18 , 0 , couleur sont des synonymes.

GCOL mode , couleur et VDU 18 , mode , couleur sont des synonymes.



La qualité des tracés et des couleurs dépendent beaucoup du MODE utilisé, mais aussi du matériel et de l'environnement : Linux, Windows, navigateur, ... sur lequel le programme est exécuté. Dans certains cas, des tracés, des figures, voire des coloriages peuvent ne pas être affichés, sans qu'une erreur de script en soit responsable. 




RUBRIQUES.


Les dessins et les graphismes pour plus de détails sur la création de dessins et de graphismes.

La gestion des couleurs pour plus de détails sur la gestion des couleurs logiques et physiques.




EXEMPLE.


MODE 8

FOR kcouleur = 0 TO 7

CLG

FOR krectangle = 0 TO 7

GCOL krectangle

kabscisse = 200 + ( 100 * krectangle )

RECTANGLE FILL kabscisse , 400 , 100 , 200

NEXT krectangle

kordonnee = 585

FOR kmode = 0 TO 7

GCOL kmode , kcouleur

RECTANGLE FILL 200 , kordonnee , 800 , 7

kordonnee -= 20

NEXT kmode

PRINT "code couleur = " ; kcouleur ; ". Appuyer sur une touche pour continuer."

kpause = GET

NEXT kcouleur

PRINT "Fin du test. Au revoir."

END

Votre aide est précieuse pour améliorer ce site, alors n'hésitez pas à faire part de

vos remarques, vos commentaires et de vos suggestions.

Dans la RETROGICIEL vous trouvez des suggestions simples et classiques pour

TESTER - DÉCOUVRIR - PRATIQUER - APPROFONDIR - EXPLORER

avec un exemple de résolution à télécharger pour vous inspirer.

Google Sites
Report abuse
Page details
Page updated
Google Sites
Report abuse