3 votes

Threading OU flux de contrôle multiple dans Pacman

J'ai l'intention d'écrire un jeu Pacman en langage C, en partant de zéro. Le défi le plus fondamental auquel je suis confronté est de savoir comment maintenir plusieurs flux de contrôle en même temps. Je veux dire comment le Pacman se déplace, les fantômes se déplacent, le score est mis à jour - tout cela en même temps. En général, c'est très commun pour tous les jeux. Est-ce qu'une sorte de threading est impliqué ici ? Si c'est le cas, quelqu'un peut-il dire comment faire pour que votre programme fasse plusieurs choses en même temps (il serait utile que vous le disiez pour le langage C).

Merci d'avance

4voto

corsiKa Points 39442

L'un des principes fondamentaux du développement d'un jeu en temps réel est le suivant tic-tac du jeu . Il représente une petite unité de temps dans laquelle les choses peuvent se produire. Ainsi, vous pouvez avoir un tick toutes les 0,100 secondes. Plus le tick est petit, plus le contrôle est fin.

Vous pouvez les considérer comme des virages très rapides limités dans le temps. Si vous ne faites rien pendant ce tour, vous perdez le tour.

1voto

Carl Norum Points 114072

Je pense qu'il est assez peu probable que la version originale de Pac-Man ait été multithreadée au sens où nous utilisons ce terme aujourd'hui. Elle était plus probablement implémentée comme une simple boucle avec une sorte de support d'interruption. Vous pouvez faire de même pour implémenter un multithreading rudimentaire : écrivez votre programme dans une boucle de type while (1) o for (;;) et configurez une minuterie qui interrompra votre boucle à intervalles réguliers pour effectuer les mises à jour de l'écran.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X