Tenez cette ligne !
GW-BASIC
(PC-BASIC)
Initiation au langage Basic
Ainsi, vous pouvez mettre un point sur l'écran --- même plusieurs points. Mais quel genre de point de départ est-ce, vous vous demandez peut-être, lorsque vous êtes désireux de créer de "vrais" graphiques.
Pour répondre à cette question, pensez à certains de vos tout premiers "dessins" sur papier. Peut-être s'agissait-il d'images détaillées de clowns, de phoques dressés et d'autres choses merveilleuses.
Comment avez-vous dessiné de telles merveilles ? Probablement en connectant un tas de points.
Et c'est exactement comme ça que votre ordinateur "dessine". Vous lui dites quels points se connectent, et il trace une ligne.
C'est une ligne que vous avez
Une façon de dire à l'ordinateur de tracer une ligne entre les points est d'utiliser l'instruction LINE de GW-BASIC. Pour voir LINE au travail, modifiez le programme qui définit les points. (Pour plus de commodité, appelez le programme "lignes".)
10 SCREEN 9 '640 × 350 pixels 64 Couleurs
20 CLS
30 LINE (0,0)-(639,349),12
40 GOTO 40
Exécutez maintenant le programme. L'écran doit afficher une ligne rouge clair allant du coin supérieur gauche au coin inférieur droit sur un fond noir.
Que diriez-vous de changer la direction de la ligne pour qu'elle aille du coin inférieur gauche au coin supérieur droit ?
Vous avez probablement déjà compris celui-ci, mais au cas où, voici la nouvelle ligne 30 :
30 LINE (0,349)-(639,0),12
X marque l'endroit
Qu'en est-il des lignes qui se croisent ?
Réinsérez la ligne 30 d'origine qui a tracé la première ligne. (Tout d'abord, renumérotez-le en tant que ligne 25.)
Ensuite, exécutez le programme. Votre écran affiche-t-il 2 lignes orange qui se croisent au centre ?
En fait, vous pouvez mettre autant de lignes à l'écran que vous le souhaitez, une fois que vous avez appris le format.
C'est ici:
LINE [(x1,y1)]-(x2,y2) [,[attribut][,B[F]]
x1,y1 et x2,y2 spécifient les extrémités
d'une ligne.
Le mode de
résolution est déterminé par l'instruction SCREEN.
L'attribut
spécifie la couleur ou l'intensité du pixel affiché (voir les instructions
SCREEN,
COLOR, PALETTE).
B (boîte)
dessine une boîte avec les points (x1,y1) et (x2,y2) aux coins opposés.
BF (boîte
remplie) dessine une boîte (comme ,B) et remplit l'intérieur avec des points.
Noter
Si
l'attribut n'est pas spécifié, deux virgules doivent être utilisées avant B ou
BF.
Maintenant faites dessiner un carré en ajoutant B à la fin de la ligne 30 et ensuite un carré rempli en ajoutant BF
30 LINE (0,349)-(639,0),12,B et exécuter le programe
ensuite
30 LINE (0,349)-(639,0),12,BF
Programme faites-le vous même
Écrivez un programme qui crée une boîte avec une paire de lignes se croisant au centre.
Tout comme à l'époque du point à point, vous souhaiterez souvent tracer une ligne qui commence au point de fin de la dernière ligne. Chaque fois que c'est le cas, vous pouvez omettre le point de départ. L'ordinateur démarre automatiquement au point final défini par la dernière instruction LINE ou, si vous n'avez pas encore utilisé LINE dans le programme, à au milieu de l'écran soit pour SCREEN 9 (319,174).
Voici un exemple:
30 LINE (0,0)-(639,349),12
35 LINE -(639,0),10
La ligne 30 trace une ligne de (0,0) à (639,349).
La ligne 35 trace alors une autre ligne, celle-ci de (639,349) au point (639,0).
Que vous incluiez ou non le point de départ, vous devez faire précéder le point de fin d'un trait d'union (-)
Que diriez-vous de laisser tomber une ligne ?
Nous avons discuté des points de départ et d'arrivée de la ligne.
Pour effacer une ligne utilisez la couleur de fond
10 SCREEN 9:CLS
20 LINE (0,0)-(639,349),12
30 A$=INKEY$:IF A$="" THEN 30
40 LINE (0,0)-(639,349),0
50 GOTO 50
Pour un exemple de programme QUEBEC.BAS
C'est la couleur avec un C majuscule, O majuscule, majuscule
À la setion Allons au Point, nous avons expliqué comment utiliser le paramètre c de la commande PSET pour changer la couleur d'un point. Mais nous parlons aussi depuis un certain temps des couleurs de premier plan (foreground) et d'arrière-plan (background). Il est maintenant temps de les expliquer davantage.
Naturellement, si vous utilisez beaucoup une couleur, vous ne voulez pas avoir à la spécifier chaque fois que vous mettez quelque chose à l'écran. Avec la fonction COLOR, vous n'avez pas à le faire.
Dans certaines limites, la fonction graphique COLOR permet de définir les couleurs de premier plan/arrière-plan.
Voici son format :
COLOR [foreground][,[background]
Couleur
0 Noir
1 Bleu
2 Vert
3 Cyan
4 Rouge
5 Magenta
6 Marron
7 Blanc
8 Gris
9 Bleu clair
10 Vert
clair
11 Cyan clair
12 Rouge clair
13 Magenta clair
14 Jaune
15
Blanc haute intensité
Pour LINE si l'attribut de la couleur est omit, la couleur des points de la lignes sera celle de la couleur du fond du premier plan (foreground).
Pour voir COLOR en action, tapez ce programme:
5 SCREEN 9:CLS
10 COLOR 2:Print "Vert"
20 LINE (0,0)-(639,349)
30 A$=INKEY$:IF A$="" THEN 30
40
COLOR 3:Print "Cyan"
50 LINE (0,0)-(639,349)
60 GOTO 50
Programme faites-le vous même
Prêt pour votre propre programmeur "lignes"
Pouvez-vous construire une maison ?
Assurez-vous d'ajouter :
Une porte, bien sûr.
Au moins une fenêtre. (N'oubliez pas d'allumer ou d'éteindre les lumières.)
Une cheminée. (Vous n'aurez pas besoin d'un ramoneur, pas encore en tout cas !)
La conception globale vous appartient (Cape Cod, Ranch ou autre), mais nous avons inclus un exemple de programme de maison (bonne vue, pas d'animaux). Ne vous inquiétez pas des poignées de porte ; nous les ajouterons plus tard.
Assurez-vous de sauvegarder ce programme, car vous en aurez besoin plus tard. (Vous trouverez qu'il est beaucoup plus facile de dessiner la maison si vous tracez ses points sur une feuille de travail d'écran graphique.)
10 SCREEN 7
20 COLOR 10:CLS 'Permet de
définir la couleur de l'avant plan (des points)
30 LINE (72,168)-(200,72),,B
'FRAME
40 LINE (72,72)-(136,36) 'ROOF
45 LINE (200,72)-(136,36) 'ROOF
50 LINE (120,168)-(152,100),,B 'DOOR
55 LINE (152,60)-(168,36),,BF 'CHIMNEY
60 LINE (165,128)-(191,100),,B 'WINDOW
65 LINE (178,128)-(178,100) 'WINDOW
PART
70 LINE (165,114)-(191,114) 'WINDOW PART
75 LINE
(85,128)-(111,100),,B 'WINDOW
80 LINE (85,114)-(111,114) 'WINDOW PART
85
LINE (98,100)-(98,128) 'WINDOW PART
90 GOTO 90
Le même programme sans la commande COLOR
10 SCREEN 7
20 CLS
30 LINE
(72,168)-(200,72),10,B 'FRAME
40 LINE (72,72)-(136,36),10 'ROOF
45 LINE
(200,72)-(136,36),10 'ROOF
50 LINE (120,168)-(152,100),10,B 'DOOR
55 LINE
(152,60)-(168,36),10,BF 'CHIMNEY
60 LINE (165,128)-(191,100),10,B 'WINDOW
65 LINE (178,128)-(178,100),10 'WINDOW PART
70 LINE (165,114)-(191,114),10
'WINDOW PART
75 LINE (85,128)-(111,100),10,B 'WINDOW
80 LINE
(85,114)-(111,114),10 'WINDOW PART
85 LINE (98,100)-(98,128),10 'WINDOW PART
90 GOTO 90
Vous pouvez changer l'attribut couleur de ligne pour avoir une maison plus colorée ....
Programme faites-le vous même
Cela devrait être un véritable défi pour vous.
Comme vous le savez, une ligne droite est la distance la plus courte entre deux points. Eh bien, mettez quelques milles de plus entre nos deux points. Utilisez LIGNE pour tracer une ligne en zigzague.
10 SCREEN 7
20 CLS
30 Y=0
40 FOR X = 0
TO 200 STEP 10
50 OY = Y
60 Y = 30-OY
70 LINE
(X,100-Y)-(X+10,100-OY),12
80 NEXT
90 GOTO 90