140
20,20
DRAW
run
Este cuadrado ha sido dibujado con la pluma 1 a causa de la línea 70. Si omitiéramos la línea 70,
tendríamos que incluir ',V como tercer parámetro de MOVE en la línea 100, o bien en el DRAW
de la línea 110, para pedir al ordenador que cambiase la pluma gráfica.
Líneas discontinuas
Las rectas que dibujemos no tienen que ser necesariamente de trazo continuo, sino que pueden
ser de puntos. La orden MASK nos permite definir el tamaño de los puntos. La forma que
definamos se repetirá cada 8 pixels. Si la primera línea deja incompleto el último grupo de 8
pixels, la siguiente empezará dibujando los puntos restantes. Con una nueva orden MASK (quizá
con el mismo parámetro) se hace que el siguiente dibujo empiece por el principio del grupo.
El parámetro de MASK es en realidad un byte binario en el que los bits que están a 1 indican que
el pixel correspondiente se debe iluminar con la tinta de la pluma. En nuestro ejemplo vamos a
poner el parámetro directamente en forma binaria (identificada por el prefijo &X); queremos
que cada grupo de 8 pixels tenga cuatro pixels iluminados en el centro y dos apagados a cada
lado. De esta forma las rectas serán de trazos, con cuatro pixels encendidos y cuatro apagados.
Añada la línea siguiente:
90
MASK &X00111100
run
Pero vemos que el enlace en los rincones no es como nos gustaría. Lo que ocurre es que los
pixels de las esquinas se dibujan dos veces: una al final de una recta y otra al principio de la
siguiente. Una forma un tanto torpe de resolver este problema es incluir las líneas:
115
MOVE
180,22
125
MOVE
178,180
135
MOVE
20,178
run
Pero es más fácil poner ',0' como segundo parámetro de MASK para indicar que no se debe
dibujar el primer punto de cada línea. Modifique la línea 90:
90
MASK
&X00111100,0
y borre las que ya no necesitamos:
115
125
135
Ejecute el programa y observe que el cuadrado vuelve a ser simétrico. Si hubiéramos puesto ',1'
como segundo parámetro de MASK, todas las rectas serían de trazo continuo con el primer
pixel encendido.
Ahora observe los huecos entre trazos. En el triángulo inferior derecho hay algo que no está en
el otro: es el papel gráfico, al que se ha dado el número 2 con la orden CLG
2 de la línea 50, pero que es invisible en el triángulo superior porque es del mismo color que el
fondo. Modifique la línea 50:
Manual de Amstrad CPC 6128 (revisión 2008) - Página 359