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

Paso 10: Programa estructura - bucle de juego

La parte más importante de cada juego, el bucle de juego de la sincronización, debe ser Inmaculada en muchos de los mayores sistemas y arquitecturas. La Atari 2600, por ejemplo, había 76 ciclos del procesador para hacer todo la lógica del juego, que incluye sonido así. Los procesadores de hoy en día son mucho más rápidos, y el tiempo es sólo una consideración real por empujar la dotación de hardware de gráficos.

A los efectos de esta discusión, cada iteración del bucle juego corresponde al dibujo de un solo cuadro y es programado para ejecutar en aproximadamente 30 fotogramas por segundo. El bucle de juego debe manejar todo, cada iteración, pero mantenerse dentro de los límites de la televisión o VSYNC del monitor. El VSYNC es el más largo período de tiempo que el monitor o televisión es inactivo y no en el proceso de rediseño de la pantalla. Tratando de escribir en la memoria de video mientras que el monitor o televisión intenta leer llevará a contingencias de hardware pantalla lagrimeo y otras anomalías gráficas.

¿Qué es lo primero que el bucle de juego deben manejar? Supongamos, por un momento, que todas las construcciones de juego se dividen en la lógica del juego y el motor de gráficos. Poniendo el código de gráficos primero, y después de manejar, dicen, jugador de entrada, surge un problema. El problema surge de la fase de inicialización. Esencialmente, el motor gráfico habrá computado el primer fotograma antes de que comience realmente el lazo y luego dibujar el primer fotograma durante la primera iteración del bucle de juego. Ahora, se calcula la lógica del juego, pero el marco actual en el circuito es desynced con el cálculo hecho con la lógica del juego.

Por lo tanto, la lógica del juego debe ordenarse primero, pero deja unas construcciones a pedido. Supongamos que se tomó la decisión arbitraria que la detección de colisión debe tratarse primero. Entonces, lógicamente, la entrada del jugador es manejada en algún momento después de en el bucle. Esencialmente, la colisión se calcula, y entonces el jugador consigue moverse. Una contradicción puede ser encontrado en por lo menos un caso, pero Supongamos que py + h = by + 1, y el jugador es frenéticamente tratando de mover hacia abajo para compensar. Por la definición del detector de colisiones, colisión no sucede en este caso. Movimiento del jugador fue en vano, a pesar de que sería el aspecto del motor de gráficos que debe han devuelto la pelota. Tomando la contradicción más, la bola entonces incluso parecería que cruza con la pala, si el jugador a moverse hacia abajo. Esto sería una situación frustrante para el jugador. Por lo tanto, la entrada debería tratarse en algún momento antes de la detección de colisiones.

La AI se cae en una situación similar que el anterior. Si detección de colisiones se maneja antes de la IA se mueve, que conduce al mismo problema. Por lo tanto, la detección de la colisión debe ocurrir después de la AI y el jugador de entrada. No importa el orden con respecto a la AI y el reproductor de entrada; el movimiento de uno es independiente del otro.

Pero, ¿Cuándo se debe mover la bola? Tenga en cuenta que los gráficos se actualizan. por lo tanto, la ubicación de la bola actualmente mostrada por la televisión o el monitor es la última iteración. Si el programa era utilizar esta posición para detectar colisiones, entonces se presenta el mismo problema. Por lo tanto, la ubicación de la bola debe actualizarse primero.

La orden final es:

1. movimiento de la bola
2. el jugador entrada
3. AI
4. detección de colisiones a
5. actualización de la pantalla de juego

Con alguna motivación detrás de cómo funciona el juego, vamos a empezar a trabajar con algo de código.

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