bleuerouge
Messages postés12Date d'inscriptionjeudi 7 janvier 2010StatutMembreDernière intervention 1 décembre 2014
-
13 déc. 2005 à 13:17
bleuerouge
Messages postés12Date d'inscriptionjeudi 7 janvier 2010StatutMembreDernière intervention 1 décembre 2014
-
13 déc. 2005 à 16:42
Bonjour , je suis en train de faire un petit projet de jeu de role, rien de bien pretencieux, mias bon il faut bien que je m'y mette...
J'ai diveirs probleme notemment en ce qui concerne la sauvegarde et l'enregistrement de partie. J'ai une classe partie qui contient toute les donnes de la partie (cartes , personnages ,points , ect ..) , engros comme j'instancie la classe partie pour creer un partie ,mon idée est d'enregistrer la classe tel qu'elle est , ensuite quand jez veut la charger, je la charge en memoire ,je cree un pointeur vers elle est je reprends la partie la ou elle etais terminer . :)
Le probleme, c'est que je ne comprend pas tres bien comment charger puis rediriger ensuite un pointeur vers la zone de memoire, j'arrive pas a caster notemment. donc si quelqu'iun pouvait me donner un coup de main maerci d'avance
voici un extrait de mon code
class Partie : public Jeu
{
private:
int numeroPartie;
string nomPartie;
int numeroHero;
int numeroTour;
string dateCreation;
unsigned long highScore;
public:
Partie()
{
numeroPartie = 1;
numeroHero = 1;
numeroTour = 1;
dateCreation = "01/01/06";
highScore = 0;
}
void demarrer(void); // Demarre la partie
void creer(string); // Cree une nouvelle partie
void arreter(); // Arrete la partie
void charger(string); // charge un partie deja existante
unsigned long afficherHighScore(); // Affiche le meilleur score
double recupererTour(); // renvoie le numero du tour en cours
};
// extrait de partie. charger
cout << "chargement partie" << endl;
fp.open ((char *) nomPartie.c_str(),ios::out|ios::binary|ios::app); // Ouverture du fichier
Partie* la_partie; // Creation d'un poiteur de type partie
fp.read( nom_partie_a_chargee,sizeof(Partie)); // Creer une instance de la partie avec le nom donnée
istream read
fp.close(); // Ferme le fichier
la_partie = (Partie) fp; // Pointe vers l'adresse de fp
la_partie->demarrer(); // Le jeu peut commencer
lordkraken
Messages postés9Date d'inscriptionvendredi 9 septembre 2005StatutMembreDernière intervention20 décembre 2005 13 déc. 2005 à 13:27
deja essaye qq chose comme ca
Partie* la_partie = new Partie();
la_partie = (Partie) fp.read( nom_partie_a_chargee, sizeof(Partie)); // Creer une instance de la partie avec le nom donnée
fp.close();
bleuerouge
Messages postés12Date d'inscriptionjeudi 7 janvier 2010StatutMembreDernière intervention 1 décembre 2014 13 déc. 2005 à 16:42
bonjour , votre version me repond :
error C2440: 'cast de type' : impossible de convertir de 'std::basic_istream<_Elem,_Traits>::_Myt' en 'Partie'
with
[
_Elem=char,
_Traits=std::char_traits<char>
]
Je sais pas si c'est visual mais j'arrive pas du tout a caster