Seuls les membres ayant 30 points peuvent parler sur le chat.

Forum Casio - Autres questions


Index du Forum » Autres questions » sauvegarde de la progression dans un jeu en C
Alphacreator Hors ligne Membre Points: 1464 Défis: 43 Message

sauvegarde de la progression dans un jeu en C

Posté le 15/07/2013 15:56

J'aimerai savoir comment faire pour que dans un jeu en C, si le fichier qui contient les scores existe, on continue, sinon on le crée; et quand on fini un niveau par exemple, le fichier est modifié pour pouvoir reprendre au niveau suivant si on quitte: avec un menu des niveaux possédant une indication si le niveau n'est pas débloqué; je suis allé voir sur le cours du site du zéro mais je n'ai pas réussit à ouvrir un fichier.
Pouvez-vous m'aider?


1, 2 Suivante
Ziqumu Hors ligne Membre d'honneur Points: 3052 Défis: 9 Message

Citer : Posté le 18/07/2013 12:11 | #


Regarde dans la doc du SDK, il faut utiliser la les "bfile"
Alphacreator Hors ligne Membre Points: 1464 Défis: 43 Message

Citer : Posté le 18/07/2013 12:22 | #


Ah ok, merci! Effectivement, je n'avais pas vu!
Limachi Hors ligne Youtuber Points: 2798 Défis: 67 Message

Citer : Posté le 22/07/2013 16:40 | #


non, pas un boulet, quelqu'un qui a suivi la procédure logique de recherche d'information, mais casio utilise des fonctions différentes que celles des libs les plus basiques utilisées par les ordi, il faut prendre l'habitude (quand on programme un add-in) de vérifier les libs de casio avant les libs générales (et le plus dur: les comprendre )
Mes Programmes
Cliquer pour enrouler
-en basic: un programme nommé PICFMLIM convertissant une picture en code basic.
-en C:
-Un pong.
-Un projet en pause. Je compte le reprendre de temps en temps: Summer Cursed


-mon tuto sur les Str


Mes calto: G25+, G75
Mon minecraft en dévelopement


Projets et Programmes que je soutiens (sur une idée de Marmotti)
Cliquer pour enrouler
-Pokemon Jade de Dodormeur
-Portal2D de JavierXD
-CalCraft de Wime
-GeekBros du groupe GeekBrothers (Eiyeron,Siapran,KevKevVTT,Adbook,LIMachi)
Alphacreator Hors ligne Membre Points: 1464 Défis: 43 Message

Citer : Posté le 22/07/2013 17:06 | #


en tout cas je n'arrive pas à utiliser les Bfile_WriteFile et Bfile_ReadFile: je n'arrive toujours pas à utiliser les buffers pour stocker et écrire des données avec ces fonctions; quelqu'un aurait un mode d'emploi?
Limachi Hors ligne Youtuber Points: 2798 Défis: 67 Message

Citer : Posté le 22/07/2013 17:30 | #


je peux t'aider si tu veux, mais j'ai une co limité, et je risque de la perdre a tout moment (les aléas de la wifi publique).

le buffer est un pointeur vers une zone de la mémoire vive ou tu as précédemment stocké des données (une liste par exemple, c'est le plus facile a utiliser vu que c'est un pointeur).

je n'ai pas le manuel sous les yeux, je ne sais plus très bien comment fonctionnent ces fonctions (sa fait un moment que j'utilise des fonctions que j'ai mise au point pour ne plus a avoir a utiliser celles de Casio) mais il faut créer un handler avant d'utiliser les WriteFile et ReadFile (utilise les fonctions OpenFile pour les handler)
Mes Programmes
Cliquer pour enrouler
-en basic: un programme nommé PICFMLIM convertissant une picture en code basic.
-en C:
-Un pong.
-Un projet en pause. Je compte le reprendre de temps en temps: Summer Cursed


-mon tuto sur les Str


Mes calto: G25+, G75
Mon minecraft en dévelopement


Projets et Programmes que je soutiens (sur une idée de Marmotti)
Cliquer pour enrouler
-Pokemon Jade de Dodormeur
-Portal2D de JavierXD
-CalCraft de Wime
-GeekBros du groupe GeekBrothers (Eiyeron,Siapran,KevKevVTT,Adbook,LIMachi)
Alphacreator Hors ligne Membre Points: 1464 Défis: 43 Message

Citer : Posté le 22/07/2013 17:39 | #


Pour les handle, j'ai réussit, après c'est le buffer où j'ai du mal
Limachi Hors ligne Youtuber Points: 2798 Défis: 67 Message

Citer : Posté le 22/07/2013 17:46 | #


bien, dis toi que le buffer, sa peut-être ce que tu veux, un char, un int, un tableau de char...
le buffer doit être un pointeur (dans le cas d'un tableau crée de la manière qui suit, le simple nom 'string' est le point de départ du buffer: char string[]="this is a string")
l'option de longueur de buffer est en octets, 1 char=1 octet, 1 short (short int)=2 octets, 1 int (long int)=4 octets, 1 float=4 octets, 1 double=8 octets
Mes Programmes
Cliquer pour enrouler
-en basic: un programme nommé PICFMLIM convertissant une picture en code basic.
-en C:
-Un pong.
-Un projet en pause. Je compte le reprendre de temps en temps: Summer Cursed


-mon tuto sur les Str


Mes calto: G25+, G75
Mon minecraft en dévelopement


Projets et Programmes que je soutiens (sur une idée de Marmotti)
Cliquer pour enrouler
-Pokemon Jade de Dodormeur
-Portal2D de JavierXD
-CalCraft de Wime
-GeekBros du groupe GeekBrothers (Eiyeron,Siapran,KevKevVTT,Adbook,LIMachi)
Alphacreator Hors ligne Membre Points: 1464 Défis: 43 Message

Citer : Posté le 22/07/2013 18:04 | #


Ok, je vais voir ça, merci!
Limachi Hors ligne Youtuber Points: 2798 Défis: 67 Message

Citer : Posté le 22/07/2013 18:25 | #


de rien, même si je ne serais pas très présent (wifi intermittente entre lundi et jeudi, sans doute plus de net après jusqu’à la semaine prochaine), je tenterais de t'aider au mieux.
Mes Programmes
Cliquer pour enrouler
-en basic: un programme nommé PICFMLIM convertissant une picture en code basic.
-en C:
-Un pong.
-Un projet en pause. Je compte le reprendre de temps en temps: Summer Cursed


-mon tuto sur les Str


Mes calto: G25+, G75
Mon minecraft en dévelopement


Projets et Programmes que je soutiens (sur une idée de Marmotti)
Cliquer pour enrouler
-Pokemon Jade de Dodormeur
-Portal2D de JavierXD
-CalCraft de Wime
-GeekBros du groupe GeekBrothers (Eiyeron,Siapran,KevKevVTT,Adbook,LIMachi)
Alphacreator Hors ligne Membre Points: 1464 Défis: 43 Message

Citer : Posté le 23/07/2013 12:02 | #


int AddIn_main(int isAppli, unsigned short OptionNum)
{
    unsigned int key;
    int handle=Bfile_OpenFile((unsigned char*)"box.txt",_OPENMODE_READWRITE);
    char* niveau[32]="1";
    Bdisp_AllClr_DDVRAM();
    if(!Bfile_OpenFile((unsigned char*)"box.txt",_OPENMODE_READWRITE)){
        Bfile_CreateFile((unsigned char*)"box",8);
        Bfile_WriteFile(handle,niveau,8);
    }
    while(1){
        GetKey(&key);
    }
    return 1;
}

Pourquoi le fichier n'est pas crée?
Limachi Hors ligne Youtuber Points: 2798 Défis: 67 Message

Citer : Posté le 23/07/2013 12:06 | #


car Bfile_OpenFile a déjà crée ton fichier a la 4ème ligne, lors de la création du handle.
Mes Programmes
Cliquer pour enrouler
-en basic: un programme nommé PICFMLIM convertissant une picture en code basic.
-en C:
-Un pong.
-Un projet en pause. Je compte le reprendre de temps en temps: Summer Cursed


-mon tuto sur les Str


Mes calto: G25+, G75
Mon minecraft en dévelopement


Projets et Programmes que je soutiens (sur une idée de Marmotti)
Cliquer pour enrouler
-Pokemon Jade de Dodormeur
-Portal2D de JavierXD
-CalCraft de Wime
-GeekBros du groupe GeekBrothers (Eiyeron,Siapran,KevKevVTT,Adbook,LIMachi)
Alphacreator Hors ligne Membre Points: 1464 Défis: 43 Message

Citer : Posté le 23/07/2013 12:09 | #


Ok, du coup, comment faut-il que je fasse?
Limachi Hors ligne Youtuber Points: 2798 Défis: 67 Message

Citer : Posté le 23/07/2013 12:44 | #


ne demande pas a ce qu'un fichier soit neuf, écrit dedans quand tu en as besoins et choisis l'endroit d'écriture avec la fonction seek.
Mes Programmes
Cliquer pour enrouler
-en basic: un programme nommé PICFMLIM convertissant une picture en code basic.
-en C:
-Un pong.
-Un projet en pause. Je compte le reprendre de temps en temps: Summer Cursed


-mon tuto sur les Str


Mes calto: G25+, G75
Mon minecraft en dévelopement


Projets et Programmes que je soutiens (sur une idée de Marmotti)
Cliquer pour enrouler
-Pokemon Jade de Dodormeur
-Portal2D de JavierXD
-CalCraft de Wime
-GeekBros du groupe GeekBrothers (Eiyeron,Siapran,KevKevVTT,Adbook,LIMachi)
Alphacreator Hors ligne Membre Points: 1464 Défis: 43 Message

Citer : Posté le 23/07/2013 12:46 | #


Ah? Comment utiliser seek?
Limachi Hors ligne Youtuber Points: 2798 Défis: 67 Message

Citer : Posté le 23/07/2013 12:48 | #


tu lui donne un handle a modifier, une valeur de déplacement et il te retourne un nouveau handle (regarde la description dans le pdf des fonctions casio pour plus de détails)

Ajouté le 23/07/2013 à 12:50 :
je viens de relire ton code: char* niveau[] sous entend que tu fais un tableau de pointeurs sur des chars! n'utilise pas de * si tu utilise [] en même temps (sauf s'il te faut vraiment un tableau de pointeurs)
Mes Programmes
Cliquer pour enrouler
-en basic: un programme nommé PICFMLIM convertissant une picture en code basic.
-en C:
-Un pong.
-Un projet en pause. Je compte le reprendre de temps en temps: Summer Cursed


-mon tuto sur les Str


Mes calto: G25+, G75
Mon minecraft en dévelopement


Projets et Programmes que je soutiens (sur une idée de Marmotti)
Cliquer pour enrouler
-Pokemon Jade de Dodormeur
-Portal2D de JavierXD
-CalCraft de Wime
-GeekBros du groupe GeekBrothers (Eiyeron,Siapran,KevKevVTT,Adbook,LIMachi)
Alphacreator Hors ligne Membre Points: 1464 Défis: 43 Message

Citer : Posté le 23/07/2013 12:51 | #


Par exemple, pour le code que j'ai mis, comment faire exactement?

Ajouté le 23/07/2013 à 12:59 :
De toute façon, même si je fais
Bfile_CreateFile((unsigned char*)"box.txt",8);

Aucun fichier "box.txt" n'est apparut
Dark storm En ligne Membre d'honneur Points: 11094 Défis: 176 Message

Citer : Posté le 24/07/2013 00:35 | #


regarde les sources de gravity duck de PLL, c'est très bien codé et compréhensible
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Alphacreator Hors ligne Membre Points: 1464 Défis: 43 Message

Citer : Posté le 24/07/2013 10:12 | #


Ok, je vais aller voir, merci Dark Storm
Pierrotll Hors ligne Ancien administrateur Points: 5488 Défis: 41 Message

Citer : Posté le 24/07/2013 20:09 | #


OpenFile ne crée pas le fichier, il faut bien utiliser CreateFile s'il n'existe pas. Mais il faut ensuite l'ouvrir pour pouvoir écrire dedans.
Limachi Hors ligne Youtuber Points: 2798 Défis: 67 Message

Citer : Posté le 27/07/2013 12:16 | #


j'ai mal lu la doc, j'ai confondu deux fonctions (deux fonctionnement de fonctions plus précisément).

Et si Bfile_CreateFile((unsigned char*)"box.txt",8); ne marche pas, c'est parce que le chemin d’accès doit être en "unsigned short" et non pas en "unsigned char" et doit commencer par: "\fls0\" pour la mémoire de stockage ou par "\crd0\" pour la carte SD.
Mes Programmes
Cliquer pour enrouler
-en basic: un programme nommé PICFMLIM convertissant une picture en code basic.
-en C:
-Un pong.
-Un projet en pause. Je compte le reprendre de temps en temps: Summer Cursed


-mon tuto sur les Str


Mes calto: G25+, G75
Mon minecraft en dévelopement


Projets et Programmes que je soutiens (sur une idée de Marmotti)
Cliquer pour enrouler
-Pokemon Jade de Dodormeur
-Portal2D de JavierXD
-CalCraft de Wime
-GeekBros du groupe GeekBrothers (Eiyeron,Siapran,KevKevVTT,Adbook,LIMachi)
1, 2 Suivante

LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
Pour coloriser votre code, cliquez ici.
Sinon cliquez sur le bouton ci-dessous.
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
Veuillez donner la réponse en chiffre
Vous devez activer le Javascript dans votre navigateur pour pouvoir valider ce formulaire.

Si vous n'avez pas volontairement désactivé cette fonctionnalité de votre navigateur, il s'agit probablement d'un bug : contactez l'équipe de Planète Casio.

Planète Casio v42 © créé par Neuronix et Muelsaco 2004 - 2020 | Il y a 61 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd