Disegniamo a colori con Basic-256

Nella Settimana dell’Insegnamento dell’Informatica: invito ad evitare mele bacate, apprezzo Obama, che ha scritto la sua prima riga di codice (essendo il primo presidente USA a sviluppare software, mentre Renzi continua a cinguettare), ed informo che l’elenco in ordine cronologico dei post di questa rubrica è nel mio sito personale. Su Obama è da apprezzare la coerenza con il discorso dell’anno scorso in cui esortava all’insegnamento della programmazione informatica.

Proseguiamo nell’esplorazione di Basic-256. Abbiamo visto come usare l’output testuale e quello vocale ed abbiamo disegnato attraverso KTurtle, esaminando anche il suo sistema per l’individuazione dei colori. In Basic-256 l’output grafico si trova nella sezione in basso a destra, “Graphics Output”, formata da una “griglia” di punti, di pixel, esattamente 300×300 pixel. Se vogliamo far comparire un pixel nero useremo il seguente comando:

plot x,y

Il comando in questione prevede due argomenti – x e y – che corrispondono alle coordinate del pixel che vogliamo far comparire nell’output grafico. Con un output grafico di 300×300 pixel possiamo dare ad x ed a y valori che vanno da 0 (zero) a 299. Il punto 0,0 si trova in alto a sinistra, mentre il punto 299,299 si trova in basso a destra, dato che i valori orizzontali vanno da 0 a 299 verso destra, mentre quelli verticali vanno da 0 a 299 verso giù. Nel piano cartesiano si ha un andamento opposto per ciò che riguarda la coordinata y.

Se vogliamo disegnare un rettangolo useremo il seguente comando:

rect x,y,b,h

In cui x e y sono le coordinate del punto in alto a destra del rettangolo, mentre b (base) ed h (altezza) sono rispettivamente il numero di pixel orizzontali e verticali del nostro rettangolo. Provate, ad esempio, il seguente comando:

rect 2,10,100,50

Appare ovvio che se b sarà pari ad h il rettangolo in questione sarà un quadrato. Se facciamo prove con diversi numeri vedremo l’output grafico pieno dei risultati dei nostri esperimenti con diversi punti e rettangoli, anche sovrapposti. Sarà quindi necessario ripulirlo, ripristinando la situazione iniziale. Per farlo il comando è il seguente:

clg

Il comando per disegnare un cerchio è:

circle x,y,r

x ed y sono le coordinate del centro del cerchio, r è il numero di pixel del suo raggio. Se vogliamo usare un colore diverso dal nero dovremmo usare il comando per definire il colore:

color x

In tal caso x sta per il nome in inglese del colore che vogliamo usare, tra i seguenti: white, black, red, darkred, green, darkgreen, blue, darkblue, cyan, darkcyan, purple, darkpurple, yellow, darkyellow, orange, darkorange, gray, darkgray e clear. Quest’ultimo in realtà non è un colore e può essere inteso come una gomma per cancellare. Quando vorremo cancellare non l’intero output grafico, bensì solo una sua parte potremo usare uno dei comandi di disegno (plot, rect e circle) dopo aver dato il seguente comando:

color clear

Sovrapponendo un cerchio clear ad un altro di un colore normale possiamo realizzare una mezzaluna, se i due cerchi sono a pochi pixel di distanza rispetto alla coordinata x.

Massimo Messina