Buonasera a tutti!
Ho deciso di aprire questo 3d perchè, nonostante abbia seguito numerose guide, non sono ancora riuscito a venire a capo del mio problema...
Devo creare un gioco di carte; il mio problema riguarda la parte del mazzo.
Infatti, il mazzo è composto da 26 carte.
Ognuna di queste 26 carte è dotata di alcune proprietà come Nome, Forza, Arma, ecc.
Ho dichiarato queste tipo struct in Strutture.h (più in basso).
Il problema viene ora: io voglio dare un nome ad ognuna di queste 26 carte, quindi voglio creare una funzione che mi permetta di farlo senza "sporcare" il main.
Ecco come ho cercato di risolvere:
Questo è il file "Strutture.h"
#define CARTEMAZZO 26
#define DOBINIZ 50
typedef struct { char NomeArma[10]; int ForzaArma;} TipoArma;
typedef struct { int Attivo; int PuntiPotenziamento; int ContatorePotenziamento; } TipoPotenziamento;
typedef struct { char Nome[10]; int Forza; TipoArma Arma; int Costo; TipoPotenziamento Potenziamento; int Stanchezza; } TipoCarta;
typedef struct { char Nome[20]; TipoCarta Carte[CARTEMAZZO]; int Dobloni; int NumeroCarte; } TipoGiocatore;
void CostruisciMazzo(TipoCarta *PuntatoreCarta);
Questo è il mio main
#include<stdio.h>
#include "Strutture.h"
#include<string.h>
main()
{
TipoArma Armi[3];
TipoCarta Mazzo[CARTEMAZZO];
TipoCarta *PuntatoreCarta;
TipoArma *PuntatoreArma;
int i;
PuntatoreCarta=&Mazzo[0];
PuntatoreArma=&Armi[0];
void CostruisciMazzo(TipoCarta *PuntatoreCarta);
for (i=0; i<CARTEMAZZO; i++)
{
printf("%s\n", Mazzo[i].Nome);
}
}
Mentre questa è la funzione CostruisciMazzo:
#include "Strutture.h"
#include <string.h>
void CostruisciMazzo(TipoCarta *PuntatoreCarta)
{
strcpy(*PuntatoreCarta->Nome, "A");
PuntatoreCarta++;
strcpy(*PuntatoreCarta->Nome, "B");
// Ovviamente questa funzione sara' MOLTO più lunga perché dovrò dichiarare altri 24 nomi, valori ecc...
}
Ho provato in vari modi, credo che questo sia quello che più si avvicina alla soluzione, ma niente: al momento della stampa eseguita nel main, il nome di Mazzo[0] non risulta modificato.
Grazie in anticipo a chi vorrà darmi una mano