GENISTA (1971) : TUTORIEL "BBC BASIC FOR WINDOWS" EN FRANÇAIS : CHAPITRE 07 : TEXTE EN COULEURS



Logo Genista, fondé en 1971

Guide Tutoriel de BBC BASIC for Windows, Ch. 07

BBC BASIC (BB4W) Tutorial: Coloured text

Texte en couleurs (Tutoriel BBC BASIC, Ch. 07) [Genista]

Par Peter Nairn  •  Traduction : Guy Schaffner (Texte et images) (Genista)

informatique et programmation Vous connaissez maintenant bien toutes les variables et vous savez calculer. Si les premiers ordinateurs n'affichaient sur l'écran qu'en une seule couleur, sur fond noir, il est aujourd'hui possible de jouer avec les couleurs.
Dans ce chapitre, vous allez découvrir la façon d'afficher sur l'écran (et, plus tard, d'imprimer sur le papier) avec, dans un premier temps, une gamme de seize couleurs, puis une infinité de couleurs.
Chapitre 6   •   Chapitre 7   •   Chapitre 8      

Chapitre 7 — Texte en couleurs


Les chapitres précédents ont fourni de nombreux renseignements dans le cas où vous n'aviez jamais rencontré ce genre de choses auparavant. Si vous souffrez d'indigestion mentale, cette partie est un peu plus légère, juste pour laisser le temps nécessaire pour que la suite soit plus confortable. Plus tard, cela deviendra une seconde nature.

Dans cette section, je voudrais m'étendre un peu plus sur PRINT pour vous montrer comment imprimer en superbe Technicolor au lieu du noir et blanc que nous avons jusque là utilisé. Le changement de couleur du texte est facile et il implique un nouveau mot-clé : COLOUR (« BB4W » accepte aussi COLOR).

En général, il y a 16 couleurs utilisables pour égayer notre texte, mais attention : le nombre exact de couleurs disponibles dépend du MODE choisi. À cause de restrictions dans les premiers micro-ordinateurs comme le BBC Micro (« Beeb ») de chez Acorn, des modes d'écran différents avaient des résolutions différentes et, pour ne pas dépenser trop de mémoire, différents nombres de couleurs. Pour changer de mode, on se sert de la commande MODE suivie du numéro du mode que vous voulez appeler. Chaque mode a une résolution différente, en ce qui concerne le nombre de colonnes en largeur, de lignes en hauteur et de couleurs disponibles. Par exemple, le MODE 4 a 40 colonnes sur 32 lignes, et seulement deux couleurs.

On peut utiliser de nombreux modes d'écran et vous trouverez tous les détails les concernant à la rubrique MODE des fichiers de l'Aide en ligne. La plupart des exemples donnés ici sont dans le mode par défaut, sauf s'il est indiqué autrement, et ainsi les 16 couleurs sont toutes disponibles. On choisit la couleur en utilisant un nombre qui représente chaque couleur. Ces nombres sont :


0Noir8Noir haute intensité (gris)
1Rouge9Rouge haute intensité
2Vert10Vert haute intensité
3Jaune11Jaune haute intensité
4Bleu12Bleu haute intensité
5Magenta (bleu-rouge)13Magenta haute intensité
6Cyan (bleu-vert)14Cyan haute intensité
7Blanc15Blanc haute intensité

Si vous imaginez de l'encre et du papier, on appelle souvent la couleur de l'encre la couleur de premier plan (le texte), et la couleur du papier l'arrière-plan (le fond). Pour changer la couleur du texte, nous nous contentons d'écrire COLOUR X, où X est l'un des nombres ci-dessus, de 0 à 15. À la prochaine utilisation de PRINT, le texte sera affiché dans cette couleur. Facile.


      REM Couleur du texte
      COLOUR 4
      PRINT "Je suis bleu !"
      END
    

Lorsque le programme se termine, il laisse les couleurs de premier plan et d'arrière-plan dans l'état où elles étaient lors de leur dernière sélection. Normalement, il est correct de remettre les choses dans l'état où on les a trouvées, aussi nous devrions peut-être modifier le programme ci-dessus pour en faire :


      REM Couleur du texte
      COLOUR 4
      PRINT "Je suis bleu !"
      COLOUR 0
      END
    

On peut aussi utiliser COLOUR pour changer la couleur du fond. Pour ce faire, nous ajoutons 128 aux nombres du tableau ci-dessus, et tout texte affiché à la suite aura pour fond la couleur choisie. Certains programmeurs présentent en fait ceci comme une somme, aussi est-ce un peu plus facile à lire parce qu'on économise un calcul mental. J'aime bien ça ; mon calcul mental n'a jamais été trop brillant : c'est à vous de voir.


      REM Couleur du fond
      COLOUR 128+6
      PRINT "Bonjour, tout le monde"
      COLOUR 128+15
      END
    

Vous devez utiliser une instruction COLOUR différente chaque fois que vous changez le premier plan ou l'arrière-plan.


      REM Couleurs du texte et du fond
      COLOUR 4
      COLOUR 128+6
      PRINT "Bonjour, tout le monde"
      COLOUR 0
      COLOUR 128+15
      END
    

Si vous changez d'écrans dans votre programme, vous voudrez souvent effacer le tableau pour que les informations de l'écran précédent ne se mêlent pas à l'écran en cours. Le BASIC a une commande pour faire cela : CLS. Cela signifie « CLear Screen » [« Effacer l'écran »], et économise la frappe. C'est très simple à utiliser ; trois lettres, et l'écran précédent est relégué au fin fond de l'histoire :


      REM CLS démonstration
      PRINT TAB(29,10);"BBC BASIC for Windows"
      WAIT 200
      CLS
      PRINT TAB(32,10);"C'est le top !"
      END
    

Dans le cas où nous voudrions changer la couleur de la totalité de l'écran, choisissons en premier le fond, puis appelons CLS, comme ceci :


      REM Couleur du fond d'écran
      COLOUR 128+7
      CLS
      COLOUR 2
      PRINT TAB(10,10);"Bonjour, tout le monde"
      COLOUR 0
      END
    

Pour un mode qui ne contient que peu de couleurs, il est possible d'utiliser la commande COLOUR pour substituer aux couleurs par défaut des couleurs prises dans le tableau ci-dessus. Les couleurs par défaut pour le mode 4 sont un fond noir avec du texte blanc. Pour changer la couleur du texte et avoir du magenta, utilisez COLOUR 1,5 comme ceci :


      REM Réglage de la couleur d'écran
      MODE 4
      PRINT "Couleur par défaut"
      COLOUR 1,5
      PRINT "Couleur de substitution"
      END
    

Voilà un intéressant point soulevé. Chaque mode a un nombre de couleurs disponibles. Le mode 4 a deux couleurs : 0 et 1 ; le mode 5 en a quatre : de 0 à 3, et ainsi de suite. En utilisant COLOUR X%, la véritable couleur du texte ne correspondra peut-être pas directement au tableau ci-dessus. Il vaut mieux dire que chaque mode a un certain nombre de cases dans chacune desquelles est insérée l'une des seize couleurs. Si nous n'aimons pas la couleur que le BASIC choisit par défaut pour cette case, nous pouvons la changer pour une autre comme dans l'exemple précédent. La case est considérée comme le nombre logique, et la couleur comme le nombre physique.

Il arrive que les seize couleurs par défaut ne soient tout simplement pas suffisantes. C'est comme quand votre mère ne veut rien d'autre que du Rose Coucher de Soleil pour la salle de bains. Comme on vient de le voir, il est possible de demander au BASIC d'échanger la couleur que nous ne voulons pas avec d'autres, prises dans le tableau des seize, mais nous pouvons aussi créer nos propres couleurs et les substituer à celles du tableau dans les cases logiques. Nous pouvons imaginer chaque couleur comme un mélange de rouge, de vert et de bleu – ce qu'elle est véritablement – et dire au BASIC : « Pour la couleur 3, n'affiche pas du jaune ; affiche ma nouvelle couleur avec tel mélange de rouge, de vert et de bleu. » Pour faire cela, nous utilisons COLOUR avec quatre paramètres : le premier est le numéro de la couleur que nous voulons modifier ; le second, le troisième et le quatrième sont respectivement la composante rouge, verte et bleue, chacune comprise dans l'étendue de 0 à 255. Par exemple, pour changer la couleur 3 en orange (rouge = 255, vert = 128, bleu = 0), nous ferions ce qui suit :


      REM Changement de couleurs
      REM Changer la couleur 3 en orange
      COLOUR 3,255,128,0
      REM La couleur est définie ; on la change
      COLOUR 3
      PRINT "Bonjour, tout le monde"
      COLOUR 0
      END
    

Utilisation des 16 couleurs dans les différents modes d'affichage

Même quand le programme s'arrête, la couleur gardera sa nouvelle valeur. Vous pouvez aussi changer la couleur autant de fois que vous le voulez, et à chaque fois, les PRINT suivants utiliseront la nouvelle couleur sans affecter ce qui a déjà été affiché avec cet index de couleurs :


      REM Changement de couleurs
      REM Changer la couleur 3 en orange
      COLOUR 3,255,128,0
      REM La couleur est définie ; on la change
      COLOUR 3
      PRINT "Bonjour, tout le monde"
      REM Changer la couleur 3 en marron
      COLOUR 3,128,64,0
      PRINT "Bonjour, tout le monde"
      COLOUR 0
      END
    

Quand une couleur a été redéfinie, il est très facile de revenir à la couleur d'origine pour cette case particulière. Si nous sommes en mode à seize couleurs, substituez simplement le code de couleur correct pris dans notre petit tableau, et la couleur par défaut sera restaurée. Pour d'autres modes, voyez dans l'Aide en ligne qui vous dira quelles sont les couleurs par défaut pour ce mode.

Si vous vous êtes vraiment laissé aller, et que vous avez changé beaucoup de couleurs, vous voulez sans doute restaurer les couleurs par défaut. « BB4W » a une commande spéciale qui fera exactement cela. Cette commande appartient à une famille de commandes qui affectent toutes la sortie vers l'écran d'une façon ou d'une autre, et sont pour cela appelées les commandes VDU. Pour appeler cette famille, servons-nous de VDU suivi d'un ou plusieurs nombres. Les effets de la commande VDU dépendent du nombre qui suit et sont intégralement décrits dans l'aide. Nous avons besoin de VDU 20. Voici ce qu'il faut faire :


      REM Restauration des couleurs
      MODE 6
      REM Changer la couleur 3 en orange
      COLOUR 3,255,128,0
      REM La couleur est définie ; on la change
      COLOUR 3
      PRINT "Bonjour, tout le monde"
      REM Restaurer les couleurs par défaut
      VDU 20
      REM Sélectionner à nouveau couleur du texte
      OLOUR 3
      PRINT "Bonjour, tout le monde"
      END
    

La restauration des couleurs avec VDU 20 restaure aussi le choix par défaut pour les couleurs d'arrière-plan et le premier plan.


Un truc : Changement de couleurs pendant l'affichage

Nous pouvons intégrer des commandes de couleurs dans une variable chaîne. Ainsi, nous pouvons changer les couleurs à la volée pendant l'affichage. Pour faire ceci, on se sert de CHR$(17) suivi de CHR$(X) (X étant le numéro de la couleur) avant la chaîne à afficher :

          REM Changement de couleurs en cours de route
          PRINT CHR$(17)+CHR$(4)+"Bonjour";
          PRINT CHR$(17)+CHR$(5)+" tout le monde"
          COLOUR 0
          END
        
Dans cet exemple, CHR$(17) agit de la même façon que la commande COLOUR. Évidemment, cela peut être difficile à lire, aussi, si vous vous en servez souvent, vous pouvez préparer des chaînes qui contiennent la déclaration de ces informations :

           REM Changement de couleurs en cours de route
           Bleu$=CHR$(17)+CHR$(4)
           Jaune$=CHR$(17)+CHR$(5)
           PRINT Bleu$+"Bonjour"+Jaune$+" tout le monde"
           END
        



Exercices


07.1
Examinez les différents MODEs dans le fichier de l'Aide en ligne.
(Mettez-vous dans l'Éditeur et appuyez sur  F1 . Essayez d'afficher du texte dans les MODEs 1 à 6 pour vous entraîner à voir comment ils se comportent.

07.2
Modifiez le programme « Changement de couleurs » (ci-dessus) pour produire de nouvelles couleurs aléatoires en vous servant trois fois de l'instruction RND(255) dans l'utilisation des lignes 3 et 8.



Fin du Chapitre 7





Haut de Page  •  [Top of Page]

Page suivante (Ch. 8)  •  [Next Page (Ch. 8)]

Page précédente (Ch. 6)  •  [Previous Page (Ch. 6)]

Page d'entrée : BASIC, BBC BASIC et BB4W  •  [BASIC, BBC BASIC and BB4W  Entry Page]

Début du Guide pratique du BBC BASIC  •  [The Beginning of the BBC BASIC Tutorial]

Autres sujets  •  [Other subjects]