Paso 3: Construcciones - motor gráfico del juego
Mi objetivo es demostrar no sólo cómo escribir Pong en el PIC de XGS, pero el proceso de pensamiento detrás de la construcción. Los pasos siguientes son las explicaciones de los distintos elementos que hacen un juego y pueden aplicarse fácilmente a otros juegos. Si usted está muerde las uñas para ver algo de código, sáltese los pasos titulados juego construye y estructura del programa.Una versión básica de Pong tendrá pocos objetos gráficos en la pantalla. Los gráficos del motor dibuja, como mínimo, tres objetos, en dos colores: dos palas y una sola bola. Los objetos de dibujo es una materia de trazado píxeles en la pantalla. Geométricamente, el motor gráfico puede dibujar tres rectángulos en la pantalla para satisfacer estos requisitos mínimos. Modificar el programa para dibujar la bola como un círculo en lugar de un cuadrado se deja como ejercicio. La elección de colores para el fondo y los objetos gráficos es lo de menos siempre y cuando el fondo y los objetos son diferentes, colores contrastantes. Suponiendo que los drivers sólo pueden trama de píxeles, la forma más fácil para hacer un rectángulo es utilizar bucles mientras iterando sobre el área del rectángulo deseado. Trazar cada píxel en una fila hasta que se alcanza el número de columnas deseados entonces pasar a la siguiente fila es probablemente la manera más intuitiva para dibujar un rectángulo relleno en. Hora de longitudes y anchos para la pelota y las paletas, sugiere buenas prácticas de programación usando constantes. Mientras que el ajuste fino de la apariencia, cambiando los valores de una sola vez es preferible a tener que buscar por todas partes en el programa donde se utilizan esos valores.
El enfoque de fuerza bruta obvio para refrescar la pantalla funciona en ordenadores modernos muy bien sin ningún parpadeo. Al comienzo, este enfoque se utilizará para simplificar y luego se discutirán maneras para mejorar la metodología para lograr resultados más rápidos. Al refrescar la pantalla, el algoritmo general será cada píxel al color de fondo y luego dibujar los objetos en sus lugares respectivos con un color diferente sobre la recientemente reajuste fondo. En la sección de optimización, se mostrará que este algoritmo no es la mejor manera de hacer las cosas, pero tolera las ineficiencias por ahora resultará en una comprensión más fácil de cómo está funcionando el juego como un todo.
Colocación de los objetos en la pantalla será necesario algunas terminología personalizado y fotos para describir efectivamente. Esta implementación de Pong será fiel a algunas de las encarnaciones más tempranas con respecto a la colocación de las palas. Las paletas se mueven verticalmente en un punto fijo en la pantalla, en lugar de moverse lateralmente en un punto fijo vertical. La decisión real es bastante arbitraria, ambas versiones funciona de maneras muy similares, pero esto afectará algunos lógica del juego más adelante. La pantalla de juego se refiere a la porción limitada de la pantalla donde ocurre toda la acción. El hoyo es el lugar entre el borde derecho o izquierdo de la pantalla de juego y la coordenada x fija donde la paleta se mueve hacia arriba o hacia abajo. La altura de la paleta y paleta ancho son autoexplicativos, pero, con esta implementación, la altura de la paleta debe ser mayor que la anchura de la paleta.
Para describir la ubicación de los objetos de juego dentro de la pantalla de juego, el programa no necesita saber dónde está cada píxel en el área del objeto. Elegir un punto arbitrario permitirá los cálculos obtener cada otro píxel en el objeto. Hay unas cuantas opciones obvias para el punto, pero la esquina superior izquierda será la Convención utilizada para este programa.