Page 98

software---------10 20 30 40 50

COLaR 15,5,5 SCREEN 2 PRESET (0,50) UNE STEP (50,50)-STEP (150,0) GOTa 50

10 20 30 40 50

COLaR 15,5,5 SCREEN 2 PRESET (0,50) UNE STEP (50,50)-(150,50) GOTa 50

nate (X,Y), con il raggio lungo R pixel (intesi come pixel dello schermo 2) e di colore C. Ecco un primo esempio: 10 COLaR 1,14,14 20 SCREEN 2 30 CIRCLE (130,90),50 40 GOTa 40

Quella vista è la forma sempli/icata di L1NE; esiste anche una forma estesa che consente il tracciamento sia di linee che di rettangoli: UNE (Xl,Yl)-(X2,Y2),C,B

la lettera B (che non rappresenta un numero), indica al cacolatore che, al posto di una linea, va disegnato un rettangolo la cui diagonale è la linea che parte dalle coordinate (X I,Y I) e termina alle coordinate (X2, Y2).

questo programma disegna un cerchio con centro alle coordinate (130,90) e con raggio lungo 50 pixel. Dal momento che C è stato omesso, viene utilizzato il colore di primo piano, che la linea IO /issa a I (nero). Dando il R UN si vede che il cerchio in realtà è un'ellisse; questo è dovuto alle dimensioni dei pixel, che non sono quadrati, ma marcatamente rettangolari. Per avere dei cerchi "veri", ma anche per tracciare eli issi di tutti i tipi, occorre usare CIRCLE in quest'altra forma (attenzione alle tre virgole tra C e E): CIRCLE (X,Y),R,C",E

Con lo schermo 2, C I e C2 devono obbligatoriamente essere uguali, mentre con lo schermo 3 devono essere diversi. Usando PAI T bisogna veri/icare con attenzione che la /igura da riempire risulti efJettivamente chiusa: basta infatti un "buco" sul bordo, anche di un solo pixel, perché PAINT colori anche esternamente. Passiamo /inalmente alla forma completa di CIRCLE: CIRCLE (X,Y),R,C,A 1,A2,E

in questa forma viene tracciato un arco dell'ellisse che si otterrebbe non specificando A I e A2, arco che parte dall'angolo A I e termina all'angolo A2 (/igura 5). Sia A I che A2 vanno indicati in radianti; visto che molti si trovano meglio con i gradi ecco la formula di conversione: angolo in radianti = angolo in gradi x 6.28/360 Qualche problema può sorgere cercando di tracciare un arco che parta prima

I

L

Figllra 4

o E >1

00

00

E<1

Figura 6 - Per disegnare questo arco si prende come angolo di plIrlen::a

Aggiungendo la lettera F dopo la B il rettangolo verrà automaticamente riempito con il colore C. l due programmi RETTANGOLI I e RETTA NGOLI 2 (listato 3 e listato 4) tracciano una serie di rettangoli rispettivamente vuoti e pieni e servono come esempio dell'uso esteso di L1NE. Il programma L1NE (listato 4), invece, permette di vedere cosa succede aggiungendo al comando prima B e poi BF.

Il comando CIRCLE Oltre a segmenti e rettangoli il Basic MSX prevede la possibilità di tracciare cerchi, eli issi ed archi con un solo comando: CIRCLE. Anche questa istruzione, come la precedente, ha una forma sempli/icata ed una estesa. Vediamo prima quella sempli/icata: CIRCLE (X,Y),R,C

disegna un cerchio con centri nelle coordi-

98

Figura 6

Fig'lra 5

330 gradi e come allgolo di arrivo 30 gradi.

E indica il rapporto tra il raggio orizzontale e quello verticale dell'ellisse; se è maggiore di I l'ellisse apparirà come in /igura 3, altrimenti come in /igura 4. Modi/icate la linea 30 del programma precedente in: 30 CIRCLE (130,90),50"" 1.25

e provate a dare nuovamente RUN (le virgole consecutive in questo caso sono quattro dato che è stato omesso C). Abbiamo visto che L1NE permette il riempimento automatico dei rettangoli disegnati; con CIRCLE la cosa non è possibile e bisogna ricorrere al comando PAINT, che serve appunto per colorare delle aree sullo schermo. PAINT si usa cosÌ: PAINT (X,Y),Cl,C2

(X,Y) sono le coordinate di un punto qualsiasi interno alla zona da colorare; C l rappresenta il colore che si vuole utilizzare e C2 indica il colore col quale è stata tracciata la /igura che si vuole riempire.

dell'origine e termini dopo; la /igura 6 dovrebbe aiutare a chiarire le idee. Il programma ARCHI (listato 7) consente di fare pratica col tracciamento di archi; gli angoli di partenza e di arrivo vanno indicati in gradi e la conversione viene effettuata automaticamente. Analogamente a PSET e L1NE, anche in CIRCLE e PAI T si può speci/icare STEP prima di indicare le coordinate, che in questo caso verranno interpretate come abbiamo visto in precedenza. Per questo mese abbiamo /inito; abbiamo visto come è organizzato lo schermo dei computer MSX dal punto di vista gra/ico ed abbiamo esaminato alcuni comandi molto potenti, ma rimane ancora molto da dire. Nelle prossime puntate ci occuperemo del comando DRA W e delle famose sprite. Nel frattempo, ripetiamo, se avete realizzato dei bei programmi in Basic MSX inviateceli. Me

MCmicrocomputer

n. 38 - febbraio

1985

Profile for ADPware

038 MCmicrocomputer  

Febbraio 1985

038 MCmicrocomputer  

Febbraio 1985

Profile for adpware
Advertisement