Boucle Principale

Tout jeu vidéo est structuré autour du concept de boucle principale.

La notion de boucle principale est très simple. Souvent, lorsqu'on nous enseigne la programmation, les programmes que l'on est amenés à étudier sont une série de traitements qui une fois terminés mettent fin au programme. Pourtant, la plupart des applications aujourd'hui nécessitent une boucle principale, implicite ou explicite. Un navigateur web ne pourrait pas vérifier que le bouton que vous avez mis en place sur votre page a été cliqué s'il ne contrôlait pas à chaque instant ce que fait l'utilisateur. Donc même si vous n'avez pas vous même créé cette boucle d'écoute, elle existe bel et bien.

La boucle principale d'un jeu est donc la boucle sans fin qui ne se terminera que lorsque sa condition d'échappement sera vérifiée (souvent le fait que le joueur clique sur "quitter" dans le menu principal du jeu).

Elle a trois fonctions :

  • Actualiser l'affichage pour créer les animations à l'écran
  • Ecouter les commandes passées par le joueur
  • Mettre a jour les variables du jeu qui évoluent en fonction du temps et des actions du joueur
/* bouclePrcpl.cpp */#include <iostream>

using namespace std;

int main(int argc, char* argv[])
{
	bool bContinue = true;
	int count = 0;
	while(bContinue)
	{	
		if(count>2) bContinue=false;
		cout << "Count = " << count << endl;
		count++;
	}
	
	return 0;
}


Cet exemple se contente de boucler jusqu'à ce que le compteur "count" soit égale à 2. Le "cout" illustre l'actualisation de l'affichage. Nous verrons petit à petit pour introduire les actions du joueurs, qui sont le coeur du problème.

Compilation sous Linux :

g++ bouclePrcpl.cpp -o bouclePrcpl

Compilation sous Windows avec Mingw :

g++ bouclePrcpl.cpp -lmingw32 -static-libgcc -static-libstdc++ -o bouclePrcpl.exe

Passons à une mise en pratique concrète