Descargar Imprimir esta página

AMSTRAD sinclair ZX Spectrum +3 Manual Del Usario página 142

Publicidad

El siguiente programa traza un gráfico de
SOR
(parte de una parábola) entre O
y
4:
10 FOR n=O
TO
255
20
PLOT
n,
80*
SOR
(n/64)
30 NEXT
n
Observe que las coordenadas que describen la posición de los pixels son distintas de las
que utilizábamos para dar el número de fila
y
de columna en la cláusula
AT
.
Quizá le
resulte útil el diagrama de la Sección 15 de este capítulo a la hora de elegir las coordenadas
de los pixels
y
los números de fila
y
columna.
PLOT
realiza los dibujos punto a
punto.
También podernos dibujar rectas, circunferen ­
cias y trozos de circunferencia utilizando las sentencias
DRAW y CIRCLE.
La sentencia
DRAW
dibuja una recta; su forma es:
DRAW x,y
El punto de partida de la recta es el pixel en el que se detuvo la última sentencia
PLOT,
DRAW
o
CIRCLE
(que es lo que llamamos posición actual del cursor gráfico;
RUN,
CLEAR, CLS
y
NEW
la restablecen en el extremo inferior izquierdo, punto 0,0). El punto
final de la recta se encuentra a x pixels a la derecha de la posición actual
y
a
y
por arriba.
La sentencia
DRAW
determina la longitud y la dirección de la recta, pero no su punto
de partida.
Experimente con unas cuantas órdenes
PLOT
y
DRAW;
por ejemplo,
PLOT
0,100:
DRAW
80,-35
PLOT
90,150:
DRAW
80,-35
Observe que los números de la sentencia
DRAW
pueden ser negativos, porque representan
desplazamientos con respecto a una posición, mientras que los de
PLOT
tienen que ser
positivos, porque representan coordenadas absolutas.
También podernos dibujar en color, aunque hay que tener presente que los colores cubren
siempre la totalidad de la celda de un carácter
y
no pueden ser especificados para pixels indi­
viduales. Cuando dibujamos un pixel, éste se tiñe del color de la tinta,
y
el resto de la celda
en que se encuentra el pixel torna el mismo color, como demuestra el siguiente programa:
10
BORDER
O:
PAPER
O:
INK
7:
CLS: REM
tiñe la pantalla de negro
20
LET
x1=0:
LET
y1=0:
REM
comienzo de la recta
30
LET
c=1:
REM
para color de tinta, comenzando con azul
40
LET
x2=
INT ( RND
*256):
LET
y2=
INT ( RND
*176):
REM
final aleatorio
de la recta
50
DRAW INK
c;x2-x1,y2-y1
60
LET
x1=x2:
LET
y1=y2:
REM
la siguiente recta comienza donde acabó la
anterior
70
LET
c=c+1: IF c=8
THEN LET
c=1:
REM
otro color
80
GO TO
40
Capítulo 8. Guía de programación en +3 BASrC
132

Publicidad

loading