Balade
GW-Basic, utilisé par PC-Basic
Exemple de programmation
Programme avec Graphique et Texte
PC-BASIC
Nous avons appris les bases de PSET et PAINT. Il est maintenant temps de jeter un œil à l'instruction DRAW.
Si vous avez besoin de créer des conceptions graphiques complexes dans GW-BASIC, DRAW est un outil indispensable ; nous ne ferons qu'effleurer la surface de ses fonctionnalités dans ce chapitre.
L'instruction DRAW, sans surprise, dessine des lignes sur l'écran. Quelle que soit la position à partir de laquelle le curseur commence, des lignes sont construites dans chacune des huit directions possibles, toutes séparées par des angles de quarante-cinq degrés. (L'instruction DRAW s'inspire de la tortue du langage de programmation LOGO.)
De plus, plusieurs instructions DRAW peuvent être concaténées en une seule chaîne de commandes DRAW.
Le programme ci-dessous vous permet de vous asseoir, de prendre quelques rayons et de profiter de la balade, jusqu'à ce qu'un panneau d'arrêt vous ralentisse.
Plusieurs PSET réinitialisent l'emplacement du curseur, tandis que plusieurs DRAW définissent la scène. Les boucles s'occupent du défilement des lignes peintes de la route et plusieurs instructions CIRCLE construisent des cercles à l'écran.
Bien qu'il s'agisse d'un programme de démonstration décent, RID. BAS n'a pas de valeur de relecture. Le transformer en interactif, peut-être même en un véritable jeu de conduite à la première personne, changerait cela.
0 T=0
16 SCREEN 7:KEY OFF
29 COLOR 1,1:CLS:COLOR
14:CIRCLE(160,20),40:PAINT (160,20),14,14:COLOR 8:PSET(0,200):DRAW"R320 U200
L329 D200"
30 COLOR 14:PSET(80,200):DRAW"E80 F80":COLOR 7
50
PSET(160,120):DRAW"D10"
60 PSET(160,140):DRAW"D10":PSET(160,160):DRAW
"D10":PSET(160,180):DRAW"D10":FOR B=l TO 800:NEXT B
70
PSET(160,120),1:DRAW"D10"
89 PSET(160,140),1:DRAW"D10"
90
PSET(160,160),l:DRAW"D10"
100 PSET(160,180),l:DRAW"D10"
110
PSET(160,130):DRAW"D10"
120 PSET(160,150):DRAW"D10"
130
PSET(160,170):DRAW"D10"
140 PSET(160,190):DRAW"D10":FOR A=l TO 800:NEXT A
150 PSET(160,130),1:DRAW"D10"
160 PSET(169,150),l:DRAW"D10"
170
PSET(160,170),l:DRAW"D10"
180 PSET(160,190),l:DRAW"D10"
190 T=T+1:IF T=40
THEN GOTO 200
195 GOTO 30
200 COLOR 1,1:CLS:COLOR 15
210
PSET(80,50),8:DRAW"R30 F20 D30 G20 L30 H20 U30 E20 G20 D30 F20 R10 D60 R10 U60
L10"
220 PAINT(110,110),4,8
230 PAINT(95,150),8,8
240
PSET(80,75),15:DRAW"L10 D10 R10 D10 L10"
250 PSET(85,75),15:DRAW"R10 L5 D20"
260 PSET(100,75),15:DRAW"R10 D20 L10 U20"
270 PSET(115,75),15:DRAW"R10
D10 L10 U10 D20"
271 PSET(101,165),7:DRAW"E30 R10 G40 U10"
272
PAINT(120,155),7,7
273 CIRCLE(160,20),40,14:PAINT(160,20),14,14
280 FOR
C=l TO 15000:NEXT C:GOTO 0