Pong en el PIC de XGS (7 / 36 paso)

Paso 7: Construcciones juego - juego de lógica - colisión detección aplicación

Cuando se trabaja en el espacio 2-dimensional, la aplicación es realmente un poco más simple. En lugar de tener un bucle de comprobar cada posible punto tangente de objetos o bordes, control a más de dos puntos serán suficiente en cada caso.

Centrándose en los bordes superior e inferior, (x, 0) y (x, Y - s) son los puntos de tangencia sólo posibles, donde 0 < = x < = x. Recuerde que cada objeto está representado lógicamente por un par ordenado que es su esquina superior izquierda. Si la ubicación de la bola es (bx, by) y by= 0, entonces la bola es tangente al borde superior de la pantalla. Esto requiere sólo una comparación para averiguar cuándo cambiar al estado hacia abajo. Además, si by = Y - s, entonces las necesidades de la bola para cambiar su estado a moverse hacia arriba.

Los bordes izquierdos y derecho son igualmente simples. Recordar que (0, y) y (X - s, y) son los puntos de tangencia posible, donde 0 < = y < = Y. El siguiente paso es comparar bx a 0 y X - s. Si bx es igual a cualquiera de estos valores, se ha producido la condición puntuación. Es probable que la bola se reiniciará para continuar el juego.

El conjunto final de los casos, cuando la bola choca con la paleta, es solamente un poco más difícil. Que (px, py) ser la ubicación actual de la paleta. Centrándose en la paleta izquierda, la primera cosa a comprobar es el correcto coordenadas x. Para la paleta izquierda, todos los posibles puntos de tangente vertical Acuéstese (px + w, y), donde 0 < = y < = Y. lógicamente, si px + w = bx, entonces puede ocurrir una colisión. Hay algunos otros puntos a verificar.

El siguiente paso es comparar las coordenadas y. Gráficamente, una colisión ocurre exactamente cuando cualquier pixel de la bola es entre los bordes superior e inferior de la paleta. En la sección anterior en la detección de colisión, todos los puntos posibles de la tangentes pueden describirse como todos puntos entre (px + w, py) y (px + w, py + h) Si h es la altura de la paleta. En este punto, es posible simplificar el algoritmo al comparar solamente dos puntos. Si la esquina superior izquierda o en la esquina inferior izquierda es tangente a la paleta, entonces debe existir al menos un punto de la bola que se parece visualmente es chocar con la pala. Revisando estos dos puntos, el algoritmo verifica todos los puntos en el lado izquierdo de la bola implícitamente. La paleta derecha funciona de manera similar, excepto los puntos a verificar son las esquinas de la parte superior y parte inferior derecha de la bola, encontrado por (bx + s, by) y (bx + s, by + s).

Cuando se implementa la detección de colisiones, importa el orden de las comparaciones. Cálculos y, por tanto tiempo, pueden guardarse por control de los puntos salientes en un cierto orden. Tomemos, por ejemplo, la paleta izquierda. Supongamos que las coordenadas y se revisaron en primer lugar en el algoritmo. Por naturaleza, se trata de una expresión complicada en muchos lenguajes de programación. Después de esta expresión está marcada, el siguiente paso sería comparar las coordenadas de x. En tiempo de ejecución, puede ser probable que el jugador siga la bola cerca a lo largo del plano vertical, por lo que la primera comparación será true por lo menos un par de veces durante el juego, incluso cuando el balón está en el otro lado de la pantalla. La expresión de la coordenada x, sin embargo, será cierto exactamente una vez para unos cuantos fotogramas. Si las comparaciones se voltea, el cálculo de coordenadas y costoso puede guardarse para ser utilizado solamente exactamente cuando sea necesario, ya que podría pasar a ser cierto algunas veces cuando no es necesario.

Por lo tanto, la detección de colisión para las paletas se verá algo como esto:

1. comprobar si bx = px
2. Compruebe si by < = py y by < = py + h, o si by + s < = py y by + s < = py + h
3. cambiar el estado de la bola

Cada paso subsecuente debe ser true para continuar por el otro. Las colisiones de borde de pantalla funcionan exactamente como se describe, puesto que hay solamente un solo punto a comprobar.

Artículos Relacionados

Medidor de LYT de LED: LED microcontrolador PIC y código promedio móvil

Medidor de LYT de LED: LED microcontrolador PIC y código promedio móvil

Hola a todos, gracias por sacar mi primer Instructable. Han disfrutado de ver sus creaciones en los años y me encanta lo que ustedes están contribuyendo. Este proyecto es una vuelta al lado de una que vi recientemente aquí y tengo que dar un grito ha
Flotante de Color lápiz titular

Flotante de Color lápiz titular

11 de enero fue mi cumpleaños y quería dibujar unos a otros para celebrar el día con mi novio.Porque no tenemos herramientas para colorear aquí en dormitorio, compramos algunos lápices de colores.Tengo un soporte de lápiz bastante grande poner extra
Fundido un anillo de Metal!

Fundido un anillo de Metal!

Este Instructable es acabado un anillo utilizando el arte de la fundición cera perdida y fundición. En fundición a la cera perdida, un positivo de cera del producto final es tallado y encajado en el yeso. El yeso se calienta entonces para que la cera
Consola 16 bits retra!

Consola 16 bits retra!

incorporé el PIC XGS 16 bits en una "consola" mediante la construcción de un caso, fuente de alimentación y breadboards para complementos. Trabajo se inició el lunes, 26. Sacó los planos de diseño, comprados piezas y lo creó. He incluido fotos d
S-GDSP: Mag K'nex alimentado disco Shooter pistola instrucciones

S-GDSP: Mag K'nex alimentado disco Shooter pistola instrucciones

aquí está y esperemos que un regreso de mi primer * ejem * mierda * ejem * pistola (que fue quitado - era una vergüenza.). Dispara pequeñas ruedas con muy buena energía y podría ser modificado para llevar ruedas medianas. El mag tiene 8 ruedas, sin e
Cómo hacer que una Variable cabeza lente de Zoom de lente telescópica de cámaras

Cómo hacer que una Variable cabeza lente de Zoom de lente telescópica de cámaras

Para todos los fanáticos de lupa, precisión arte trabajadores, investigadores, biólogos, micro electrotechnicians, reparadores de joya, Borg y muchos más, mejoran la vida y alegría, construir un Variable Zoom cabeza lente.Tener ambas manos libres par
Permite programar un microprocesador PIC

Permite programar un microprocesador PIC

OK ¿cómo difícil programar un microprocesador PIC se puede?Bueno depende, algunos son más difíciles que otras por varias razones, el lenguaje de programación, el tipo de microprocesador, la facilidad de uso de lo software de edición y lo más importan
Naranja, higo y salsa picante de salvia

Naranja, higo y salsa picante de salvia

en un cálido San Francisco el domingo decidimos era necesario conseguir algunos de nuestro bonito verano tardío frutas enlatadas para el otoño que viene. El chutney con que terminó es dulce y picante, con un agradable toque de sage, que es perfecto c
Tacos de pescado cítrico picante (tablón de cedro)

Tacos de pescado cítrico picante (tablón de cedro)

crear algunos tacos de pescado delicioso con un tablón de cedro en la parrilla.Paso 1: ingredientes Pescado ingredientes1 lb de Tilapia2 naranjas grandesralladura de naranjaFrotación de ChileSal kosher o sal marinaTablones de cedro (pendiente en dond
Maltratadas de crepe dulce y picante jalapeño Poppers

Maltratadas de crepe dulce y picante jalapeño Poppers

probar estos deliciosos Brunch estilo Poppers! Alimenta tu lado salvaje, parte dulce, una parte picante caliente. No sólo saben delicioso, pero también puede poner esa especia detrás en su brunch los domingos por la mañana.Paso 1: Crepes de suero de
Pizza de berenjena picante casera

Pizza de berenjena picante casera

Como el verano está a punto de su transición en los días más fríos del otoño, es el mejor momento para hacer algo un poco picante con sabores y vegetales estacionales. Este es uno de mis platos favoritos a hacer un frío por la tarde después de un via
Se arrastra (enredaderas de malvavisco picante)

Se arrastra (enredaderas de malvavisco picante)

justo a tiempo para ser tarde para la semana Santa es Creeps, el tratar de marshmallow con un bang!Como muchos de ustedes probablemente saben eran parte de la línea de productos 2013 abril tontos de ThinkGeek pero esto significa que, al menos en el m
Salsa de Mango picante con gambas plancha

Salsa de Mango picante con gambas plancha

¿Ha tenido camarones con mango antes? ¿Se trata de hacer una salsa picante de mango antes de? ¿Te gusta la comida picante? Si es así, esta receta es imprescindible probar para usted!Es un plato moderno con algunas influencias tailandesas, la dulzura
Programación de microcontroladores PIC

Programación de microcontroladores PIC

microcontroladores PIC están una herramienta muy útil y versátil para su uso en muchos proyectos electrónicos. Son muy baratas y fáciles de encontrar. También son muy potentes y muchos son capaces de velocidades de hasta 64 MIPS utilizando el bloque