Étape 3: Jeu des constructions - moteur graphique
Mon but est de démontrer non seulement comment écrire Pong sur le PIC de XGS, mais le processus de pensée derrière la construction proprement dite. Les prochaines étapes sont des explications sur les différents éléments qui font un jeu et peuvent facilement être appliquées à d’autres jeux. Si vous êtes à la chomping peu à voir des code, ignorez les étapes intitulés jeu construit et Structure du programme.Une version basique de Pong aura peu d’objets du graphique sur l’écran. Le moteur graphique dessine, au moins trois objets, en deux couleurs : deux pagaies et une seule balle. Les objets de dessin est une question de traçage pixels sur l’écran. Géométriquement, le moteur graphique peut dessiner trois rectangles à l’écran pour satisfaire à ces exigences minimales. Modifier le programme pour attirer le ballon comme un cercle plutôt qu’un carré est laissé comme exercice. Le choix des couleurs pour le fond et les objets graphiques n’est pas important que le fond et les objets sont différents, des couleurs contrastées. En supposant que les pilotes peuvent tracer uniquement les pixels, la meilleure façon de faire un rectangle est d’utiliser les boucles tout en effectuant une itération sur la surface du rectangle désiré. Traçage de chaque pixel dans une rangée jusqu'à ce que le nombre de colonnes désirés est atteint, puis passer à la ligne suivante est probablement la manière la plus intuitive pour dessiner un rectangle rempli. Lorsque vous décidez de longueurs et largeurs pour la balle et les pagaies, bonnes pratiques de programmation suggère d’utiliser des constantes. Alors qu’il est préférable d’avoir à chasser partout dans le programme où ces valeurs sont utilisées d’affiner le regard, changer les valeurs qu’une seule fois.
L’approche évidente de force brute pour rafraîchir l’écran fonctionne sur des ordinateurs modernes assez bien sans aucun scintillement. Au début, cette approche sera utilisée pour plus de simplicité et puis moyens seront discutés afin d’améliorer la méthodologie pour atteindre des résultats plus rapides. Lors de l’actualisation de l’écran, l’algorithme général sera de la valeur de chaque pixel de la couleur d’arrière-plan et puis dessiner les objets dans leurs emplacements respectifs avec une couleur différente sur le dessus de la récemment réinitialisé fond. Dans la section Optimisation, il sera montré que cet algorithme n’est pas la meilleure façon de faire les choses, mais tolérer l’inefficacité pour l’instant se traduira par une plus facile comprendre comment fonctionne le jeu dans son ensemble.
Placement des objets sur l’écran nécessitera quelques terminologie personnalisée et photos pour décrire efficacement. Cette implémentation de Pong sera fidèle à certaines des premières incarnations en ce qui concerne le placement des pales. Les palettes seront déplace verticalement à un point fixe sur l’écran, plutôt que de se déplacer latéralement à un point fixe vertical. La décision elle-même est assez arbitraire, les deux versions fonctionnera de manière très similaire, mais cela aura une incidence sur une logique de jeu plus tard. L’écran de jeu fera référence à la partie délimitée de l’écran où toute l’action se déroule. La fosse est l’endroit entre le bord gauche ou droit de l’écran de jeu et l’abscisse fixe où l’aube se déplace vers le haut ou vers le bas. Largeur de pagaie et la hauteur de la palette sont explicites, mais, avec cette implémentation, la hauteur de la palette doit être supérieure à la largeur de la palette.
Pour décrire l’emplacement des objets jeu dans l’écran de jeu, le programme n’a pas besoin de savoir où chaque pixel est dans le domaine de l’objet. Choisir un point arbitraire permettra aux calculs pour être utilisée pour obtenir les autre chaque pixel dans l’objet. Il y a quelques choix évidents pour le point, mais en utilisant le coin supérieur gauche sera la convention utilisée pour ce programme.