Diferencia entre revisiones de «PrInf15: Juego: acertar en un polígono»
(→Contenido de la práctica) |
(→Contenido de la práctica) |
||
| Línea 20: | Línea 20: | ||
{{ Tarea | Comprueba cómo se usa la función ''fill'' usando ''help fill''}} | {{ Tarea | Comprueba cómo se usa la función ''fill'' usando ''help fill''}} | ||
[[Archivo:Punto.png|320px|miniaturadeimagen|derecha|Representación de un punto en el plano]] | [[Archivo:Punto.png|320px|miniaturadeimagen|derecha|Representación de un punto en el plano]] | ||
| + | [[Archivo:Triangulo_verdepng|320px|miniaturadeimagen|derecha|Representación de un triángulo a partir de tres puntos]] | ||
La función ''fill'' acepta tres argumentos de entrada: | La función ''fill'' acepta tres argumentos de entrada: | ||
* Un vector con las coordenadas ''x'' de los vértices del polígono | * Un vector con las coordenadas ''x'' de los vértices del polígono | ||
Revisión del 23:10 8 ago 2013
| Práctica de Informática | |
|---|---|
| Juego: acertar en un polígono | |
| Práctica anterior | Siguiente práctica |
| Este artículo es un guión de prácticas de Informática | |
En esta práctica vamos a aplicar los conocimientos que hemos adquirido sobre bucles para crear un juego sencillo. Se trata de pedir al usuario un punto, que representa una posición en el plano, y comprobar si el punto está dentro de un polígono. El jugador acierta si proporciona un punto dentro del polígono. Si no acierta dentro del polígono, se le da otra oportunidad. Si alcanza un número límite de intentos, pierde la partida.
Contenido
1 Requisitos previos
Es importante haber realizado las siguientes prácticas antes de realizar esta práctica:
2 Comandos que se aprenderán en esta práctica
| fill | inpolygon |
3 Contenido de la práctica
Al igual que en la práctica anterior, en este caso usaremos un bucle while que tiene una condición compleja. Para implementar esta condición podemos usar tanto un operador lógico, como un break dentro del bucle. En la práctica usaremos un break, y dejaremos como ejercicio post-práctica la implementación que usa un operador lógico y evita el break.
Este programa tiene dos partes complejas, que no hemos programado hasta ahora:
- Representar y dibujar un polígono
- Comprobar si un punto está dentro de un polígono
Para representar y dibujar un polígono podemos usar la función fill.
| |
Tarea: | Comprueba cómo se usa la función fill usando help fill |
La función fill acepta tres argumentos de entrada:
- Un vector con las coordenadas x de los vértices del polígono
- Un vector con las coordenadas y de los vértices del polígono
- El color con el que se va a rellenar el polígono
Cada vértice del polígono es un punto en el plano, que tendrá dos coordenadas. Por ejemplo, el punto de la imagen de la derecha tiene como coordenadas [math]x=3[/math] e [math]y=2[/math], y se representa como [math](3,2)[/math]. Si tenemos varios puntos y los unimos, podemos formar un polígono. Por ejemplo, con tres puntos podemos formar un triángulo.
El comando fill se encarga de unir los puntos y dibujar el polígono. Pero tiene una manera peculiar de recibir los puntos que forman el polígono. En vez de recibir una lista de puntos, acepta por un lado la lista de las coordenadas x de esos puntos, y como segundo argumento la lista de las coordenadas y de los mismos puntos. Además, necesita también que especifiquemos el color con el que va a pintar el polígono. Si alguno de estos tres argumentos no es correcto, la función fill no pintará el polígono.