Inspiegabile aumento di un elemento di una struct ?!

di il
1 risposte

Inspiegabile aumento di un elemento di una struct ?!

Salve ....ho 3 file linkati ......main.c , gamelib.c e gamelib.h ....vi lascio il gamelib.h ...

#ifndef GAMELIB_H
#define GAMELIB_H

#include <stdlib.h>
#include <stdio.h>
#include <time.h>
#include <string.h>
#include <unistd.h>
#include <math.h>


void gioca();
void crea_mappa();
void termina_gioco();




enum Tipo_pericolo{
  nessun_pericolo,
  trappola,
  alieno
};

enum Stato_giocatore{
  vulnerabile,
  scudo_vita,
  solo_vita,
  solo_scudo
};

enum Tipo_oggetto{
  nessun_oggetto,
  medikit,
  pozione,
  materiale,
  colpi_lanciarazzi
};

struct Giocatore {
	enum Stato_giocatore stato;
  int x;
  int y;
	unsigned short int zaino[3];
	unsigned short int  uccisioni_alieni;//uccisioni_alieni;
};

struct Cella{
  enum Tipo_pericolo pericolo;
  enum Tipo_oggetto oggetto ;
};


#endif
ora il problema di fondo è molto semplice ....quando nel gamelib.c faccio ++Ninja.uccisioni_alieni ....oppure ...++Ciccio.uccisioni_alieni oltre che andare ad aumentare il numero di alieni uccisi per Ciccio o per Ninja va ad aumentare inspiegabilmente il materiale presente nello zaino dei giocatori....
quindi se faccio ++Ninja.alieni_uccisi oltre ad interpretrarlo come dovrebbe ,il compilatore lo legge anche come ++Ninja.zaino[materiale]...
non riesco proprio a capire dov'è il problema....

1 Risposte

Devi accedere o registrarti per scrivere nel forum
1 risposte