
Tour de jeu
Je profite qu'on ai parlé des bases des joueurs et donc de leurs ressources pour introduire le changement de tour essentiel pour le jeu et gagné certaines ressources.
void Tour_De_Jeu(){
if(keyPressed==true){
if(key=='p'){
action=0;
for(int U=0; U<Tunite_JI.length;U++){
if(TuniteVivant_JI[U]==true){
Tunite_JI[U].Tour_action=0;
Tunite_JI[U].mouvement=0;
Tunite_JI[U].Phase_Perso=0; } }
tour+=0.8;
if(tour>=3){ tour=1;}
Deck();
//////////////Joueur 1////////////////////////
if(tour==1.1){
Base[0].RessI++;
for(int U=0; U<Tunite_JI.length;U++){
if(TuniteVivant_JI[U]==true){
Tunite_JI[U].Tour_action=1; } }
for(int B=0; B<Batiment_JI.length; B++){
if(BatimentVivant_JI[B]==true){
if(Batiment_JI[B].Temps==0){
if(Batiment_JI[B].Nom=="Ferme à Charnier"){
Base[0].RessI++; } }
if(Batiment_JI[B].Temps>0){
Batiment_JI[B].Temps--; } } }
if(Boyau1>=0){ Boyau1--;}
if(ProjAcide1>=0){ ProjAcide1--;}
if(Os_Dur1>=0){ Os_Dur1--;}
tour=1.2; }
keyPressed=false;
key=0; } } }
Pour reprendre du début avec pour exemple le joueur 1, quand le bouton 'p' est pressé, on met la variable action sur 0 (de la sorte toute action est annulée). Toute les unités du Joueur 1 (et du deuxième dans le programme) sont mise à la phase zéro afin qu'elle n'agisse pas lors du tour adverse. On augmente la variable tour de 0.8 ( ce qui rend la valeur entière). On appel la fonction deck() afin de faire tirer une carte au joueur en question. Puis on initialise le tour du joueur, on lui met rajoute des ressources, toute ses unités peuvent maintenant agir, si il a des bâtiment sur le terrain soit on avance leur construction (si elle n'est pas terminée) soit on joue le bonus du bâtiment (ici +1 de ressource I ). Après on voit si les variables relatif aux différentes améliorations sont supérieur à 0, si c'est le cas on les baisses d'un cran (on simule de la sorte un délai avant activation de l'amélioration). Puis on met les variables relatif au clavier à 0.