4º ESO – Programación con MSWLogo – Videojuego de coches (VIII)

Detectar el choque con los bordes. Los colores. Pixel

El choque de la tortuga con los bordes negros del circuito lo detectaremos preguntando, cada vez que
la tortuga avanza, por el color del punto de la pantalla (píxel) en el que se sitúa. Veamos por tanto algunas instrucciones para trabajar con colores en Logo:

poncolorlapiz [rojo verde azul]
poncl [rojo verde azul] 
Selecciona el color del lápiz. Éste se obtiene mediante una mezcla de los colores rojo, verde y azul, indicando su proporción mediante un número comprendido entre 0 y 255. Algunos colores se pueden abreviar mediante un solo número:

negro: poncl [0 0 0] = poncl 0
azul: poncl [0 0 255] = poncl 1
verde: poncl [0 255 0] = poncl 2
azul claro: poncl [0 255 255] = poncl 3
rojo: poncl [255 0 0] = poncl 4
violeta: poncl [255 0 255] = poncl 5
amarillo: poncl [255 255 0] = poncl 6
blanco: poncl [255 255 255] = poncl 7
gris: poncl [128 128 128]

En el menú Configurar ……. Color del lápiz también se puede fijar el color combinando las proporciones
de rojo verde y azul, al mover con el ratón el botón correspondiente.

pongrosor [altura anchura] = pong [altura anchura] 
Define el grosor del lápiz.

Ejemplo: Las siguientes instrucciones dibujan un cuadrado en el que cada lado es de un color, siendo el
trazo de grosor 3:

pong [3 3] av 60 gd 90
poncl 4 av 60 gd 90
poncl 2 av 60 gd 90
poncl 1 av 50 gd 90

píxel
Devuelve (entre corchetes) los números que representan la intensidad de los colores rojo, verde y azul del píxel que se encuentra bajo la tortuga.

Ejemplo: si píxel = [255 0 0] [re 10 gi 50]
La línea de programa anterior pregunta si el color del punto en el que se encuentra la tortuga es
rojo y en caso afirmativo ejecuta las instrucciones del último corchete: retrocede 10 pasos y gira a
la izquierda 50 grados.

En nuestro juego tenemos que preguntar si el píxel en el que se encuentra la tortuga es negro y en
caso afirmativo colocar la tortuga en el punto de inicio. El programa queda, definitivamente, de la
forma siguiente:

para juego
bp sl
ponfoco [Pantalla de MSWLogo]
ponteclado [control] 
cargadib “circuito.bmp 
ponpos [-210 130] gd 90 
siempre [
av 1 repite 2000 []
si píxel = [0 0 0] [ponpos [-210 130]]
]
fin

para control
haz “tecla car lc 
si :tecla = 4 [gi 20] 
si :tecla = 6 [gd 20] 
fin

Siguiente

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s