Ciao a tutti, ho un problemino con un gioco stupidissimo che ho pensato. In pratica ci sono due player che in modalità 1vs1 si attaccano a vicenda, il problema è che man mano che aumentano i turni, la vita dei player non scende come dovrebbe, ma sembra ci siano "sessioni" diverse ogni due turni. Mi aiutereste?
codice:
#include <stdio.h>
typedef struct pl{
int vita;
int danno;
int frecce;
}Player;
void attacca(Player * firstPlayer, Player * secondPlayer);
int main(){
int dec;
do{
printf("Scegli modalita': \n\n 1) - 1vs1 \n\n");
scanf("%d", &dec);
printf("\n");
}while(dec < 0 || dec > 10);
if(dec == 1){
int turno = -1;
Player giocatore1;
Player giocatore2;
giocatore1.vita = 45;
giocatore2.vita = 60;
giocatore1.danno = 5;
giocatore2.danno = 2;
giocatore1.frecce = 34;
giocatore2.frecce = 40;
while(giocatore1.vita > 0 && giocatore2.vita > 0){
turno+=1;
if (turno%2 == 0){
printf("Turno %d giocatore 1, INVIO per attacco\n\n", turno);
attacca(&giocatore1, &giocatore2);
getch();}
else{
printf("Turno %d giocatore 2, INVIO per attacco\n\n", turno);
attacca(&giocatore2, &giocatore1);
getch();}
}
}
}
void attacca(Player * firstPlayer, Player * secondPlayer){
firstPlayer->frecce -=1;
secondPlayer->vita = secondPlayer->vita - firstPlayer->danno;
printf("vita P1: %d, frecce P1: %d\n", firstPlayer->vita,firstPlayer->frecce);
printf("vita P2: %d, frecce P2: %d\n\n", secondPlayer->vita,secondPlayer->frecce);
}