Petit Computer France
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
-20%
Le deal à ne pas rater :
-20% sur le Lot de 2 écrans PC GIGABYTE 27″ LED M27Q
429 € 539 €
Voir le deal

[Tutoriel]Sauvegarde avec MEM$

+3
S.lexis
fenixelf
J8B
7 participants

Page 1 sur 2 1, 2  Suivant

Aller en bas

[Tutoriel]Sauvegarde avec MEM$ Empty [Tutoriel]Sauvegarde avec MEM$

Message par J8B Jeu 3 Avr - 18:19

O)INTRODUCTION
Bienvenue dans le tutoriel de sauvegarde MEM$.
MEM$ est une variable système alphanumérique pouvant contenir 256 caractères. (merci pour la correction)
Elle est utilisée pour créer des sauvegardes et des chargements.
Mais avant de savoir comment sauvegarder votre fichier MEM$, il faut savoir le remplir.

I)MEM$ ET SAUVEGARDER
Votre jeu fonctionne grâce aux variables, et celles qui le font avancer
devront être sauvegardées. Etant donné votre place limité dans le fichier MEM$,
je vous conseille de faire attention à ne sauvegarder que les variables utiles.
Par exemple on pourra retenir les points de vie, les points d'expérience,
les repères du jeu comme le chapitre ou autre, ...
Pour résumer, MEM$ aura pour valeur toutes les variables que vous voulez à la suite
des unes des autres.
On l'écrira de cette façon :
MEM$=VARIABLE1$+VARIABLE2$+VARIABLE3$
MEM$=MEM$+VARIABLE4$+VARIABLE5$+...

Mais les variables numériques devront être transformées en alphanumériques avant
d'être intégré dans MEM$. Pour cela on utilisera la fonction STR$().
Le problème qui se pose avec STR$() c'est quand la variable aura sa valeur qui
dépassera 9. Car le nombre de chiffres maximum qu'aura la variable est très important
pour la sauvegarde. C'est à vous de déterminer le maximum de chiffres de votre variable.
Ex: STR$(10)="10" ici ça va, STR$(09)="9" là soucis on voudrait "09"
Pour régler ça, on utilise la fonction LEN() pour savoir la longueur afin de pouvoir
rajouter le 0 sous certaine condition.
On fera donc :
X=9  <--La Variable X pourra atteindre 2 chiffres au maximum (ex:99), ici elle n'en a qu'1
IF LEN(STR$(X))==2 THEN MEM$=MEM$+STR$(X)  <--Vérifie la longueur de X en condition
IF LEN(STR$(X))==1 THEN MEM$=MEM$+"0"+STR$(X)  <--Ajout d'un zéro car X n'atteint pas son maximum de chiffres.

Une fois votre valeur de MEM$ terminée, il ne vous reste plus qu'à sauvegarder dans un fichier, pour cela faites:
SAVE"MEM:NomDeFichier"

II)CHARGEMENT
Maintenant que vous savez sauvegarder, il faut savoir comment charger votre sauvegarde.
Tout d'abord il va falloir charger votre fichier de sauvegarde dans la variable MEM$, pour cela:
LOAD"MEM:NomDeFichier" <-- La Variable MEM$ prend la valeur de votre fichier de sauvegarde
Maintenant il ne reste plus qu'à associer toutes les variables à leurs valeurs contenues dans MEM$.
Pour le faire, on utilisera les fonctions VAL() (pour les variables numériques) et MID$().
VAL() sert à transformer une valeur alphanumérique en valeur numérique.
ex: VAL("009")=9
MID$(FICHIER$,positiondumot,longueurdumot) renvoie le mot (ou chaine de caractères)
contenue dans la variable FICHIER$, à la position à déterminer dans FICHIERS$ et ayant une longueur à déterminer.
Ex:
'MEM$="FirstDeuxTroisQuatro...AvantX99Fin" <--Exemple(la position commence par 0)
VARIABLE1$=MID$(MEM$,0,5) <--Sa valeur sera "First"
VARIABLE2$=MID$(MEM$,5,4) <--Sa valeur sera "Deux"
...
X=VAL(MID$(MEM$,55,2) <--Sa valeur sera 99

Voilà vous avez compris comment on charge.

III)CONCLUSION
Sauvegarder avec MEM$ reste facile à comprendre, mais si vous n'avez pas tout compris
ou que quelque chose vous paraît pas clair, n'hésitez pas à poser votre question.
Sachez qu'il existe d'autres moyens pour créer des sauvegardes comme la technique du GRP, mais ceci est une autre histoire.
Maintenant passez à la pratique !!
S'il y a une erreur, prière de me le signaler.
Merci d'avoir lu ^^.


Dernière édition par J8B le Ven 18 Avr - 20:29, édité 3 fois
J8B
J8B

Messages : 408
Date d'inscription : 27/10/2013
Localisation : Tarn

http://jinbryce.free.fr

Revenir en haut Aller en bas

[Tutoriel]Sauvegarde avec MEM$ Empty Re: [Tutoriel]Sauvegarde avec MEM$

Message par fenixelf Jeu 3 Avr - 19:39

Merci beaucoup, ça me sera utile quand j'aurai tout assimilé.
Après l'avoir relu 10 fois et tester une centaines de commandes, je réussirais !!!
fenixelf
fenixelf

Messages : 229
Date d'inscription : 08/03/2014
Age : 24
Localisation : Île de France - La ville du bois

http://www.fenixelf-drawing.fr

Revenir en haut Aller en bas

[Tutoriel]Sauvegarde avec MEM$ Empty Re: [Tutoriel]Sauvegarde avec MEM$

Message par S.lexis Dim 13 Avr - 13:45

Pourquoi vous reprenez mes sous-tutos un par un...  Sad 
S.lexis
S.lexis

Messages : 387
Date d'inscription : 24/08/2013

http://3dszone.netau.net

Revenir en haut Aller en bas

[Tutoriel]Sauvegarde avec MEM$ Empty Re: [Tutoriel]Sauvegarde avec MEM$

Message par J8B Dim 13 Avr - 19:48

Tes sous-tutos ? Pas au courant de ça. Faut dire que je n'ai pas lu tous les tutos du forum tant que je n'en ai pas l'utilité. Et puis on me l'a demandé, après j'ai regardé dans "Réservations des annonces de tuto" et rien de marqué, et le sujet des autres tutos ne me laissaient pas croire que quelqu'un l'avait déjà traité. Après tout ça, je me suis dis que je pouvais le faire.  Neutral 
J8B
J8B

Messages : 408
Date d'inscription : 27/10/2013
Localisation : Tarn

http://jinbryce.free.fr

Revenir en haut Aller en bas

[Tutoriel]Sauvegarde avec MEM$ Empty Re: [Tutoriel]Sauvegarde avec MEM$

Message par S.lexis Lun 14 Avr - 19:51

Yup le titre concerne les fichiers image, mais en "bonus" j'explique rapidement MEM.
On est pas d'accord sur le nombre de lettres qu'elle peut contenir...
S.lexis
S.lexis

Messages : 387
Date d'inscription : 24/08/2013

http://3dszone.netau.net

Revenir en haut Aller en bas

[Tutoriel]Sauvegarde avec MEM$ Empty Re: [Tutoriel]Sauvegarde avec MEM$

Message par J8B Mar 15 Avr - 1:08

J'ai vu les deux écrit. 255 et 256 mais c'est probablement 256 qu'elle peut en contenir. Bien que 255, je l'ai vu sur le manuel de stratégie, mais je pense qu'ils ont compté en oubliant le 0.
J8B
J8B

Messages : 408
Date d'inscription : 27/10/2013
Localisation : Tarn

http://jinbryce.free.fr

Revenir en haut Aller en bas

[Tutoriel]Sauvegarde avec MEM$ Empty Re: [Tutoriel]Sauvegarde avec MEM$

Message par fenixelf Jeu 17 Avr - 20:53

Attends, y'a un truc qui n'est pas clair : dans STR$ tu mets un nombre alors que tu parles de transformer une variable numérique en variable charactère?
fenixelf
fenixelf

Messages : 229
Date d'inscription : 08/03/2014
Age : 24
Localisation : Île de France - La ville du bois

http://www.fenixelf-drawing.fr

Revenir en haut Aller en bas

[Tutoriel]Sauvegarde avec MEM$ Empty Re: [Tutoriel]Sauvegarde avec MEM$

Message par J8B Ven 18 Avr - 20:18

En fait STR$ transforme un nombre ou la valeur d'une variable numérique en un mot.
Quand je dis variable c'est sous entendu sa valeur.
J8B
J8B

Messages : 408
Date d'inscription : 27/10/2013
Localisation : Tarn

http://jinbryce.free.fr

Revenir en haut Aller en bas

[Tutoriel]Sauvegarde avec MEM$ Empty Re: [Tutoriel]Sauvegarde avec MEM$

Message par S.lexis Ven 18 Avr - 21:53

Autant compter le "0" en parlant du binaire je veux bien, mais quitte à faire un tableau de caractères, autant faire des puissances de 2 directement... J'essayerai en tout cas.
On a l'erreur String too long des fois, mais pour plus de 260 je pense...

fenixelf : comme il l'explique c'est la valeur qu'on convertit, pas la variable. Si tu veux avoir une variable de type nombre sous forme de variable de type chaîne, fais MYVAR$=STR$(MYVAR). Tu conserveras les deux variables, mais tu les auras sous les deux formats !
S.lexis
S.lexis

Messages : 387
Date d'inscription : 24/08/2013

http://3dszone.netau.net

Revenir en haut Aller en bas

[Tutoriel]Sauvegarde avec MEM$ Empty Re: [Tutoriel]Sauvegarde avec MEM$

Message par fenixelf Lun 21 Avr - 10:54

Ooook... merci bien. Cependant, j'ai besoin d'énormément de temps pour comprendre (ce qui est bien c'est que quand j'ai compris, je retiens sur le bout des doigts). Du coup...

Si je veux stocker (imaginons) HP=120 ; NAME$=CHRIS ; X=241 ; Y=83 dans MEM$ J'écrirais :
Code:
HP$=STR$(HP):X$=STR(X):Y$=STR(Y)
MEM$=HP$+NAME$+X$+Y$
SAVE "MEM:CHRPERS"
Et pour les déstocker :
Code:
LOAD "MEM:CHRPERS"
HP$=MID$(MEM$,0,3):NAME$=MID$(MEM$,3,5):X$=MID$(MEM$,8,3):Y$=MID$(MEM$,10,3)

HP=VAL(HP$):X=VAL(X$):Y=VAL(Y$)
J'espère que ça marche, ça me permet de contourner LEN (que j'apprécie pas du tout 0_0 )
Si c'est pas ça, pourrais tu me corriger?
fenixelf
fenixelf

Messages : 229
Date d'inscription : 08/03/2014
Age : 24
Localisation : Île de France - La ville du bois

http://www.fenixelf-drawing.fr

Revenir en haut Aller en bas

[Tutoriel]Sauvegarde avec MEM$ Empty Re: [Tutoriel]Sauvegarde avec MEM$

Message par S.lexis Lun 21 Avr - 15:36

De 1 :
NAME$="CHRIS"
De 2 : dans HP$=STR$(HP):X$=STR*(X):Y$=STR*(Y) il te manque des $ aux astérisques
De 3 : Si HP<100 ou <10, la taille va changer, il faudra utiliser la technique décrite dans le tuto. Donc LEN est le seul moyen de faire ce boulot. Et sache que mesurer des chaînes de caractères est très fréquent en programmation Wink
Sinon bah tu peux retenir ça, c'est à peu près correct.
S.lexis
S.lexis

Messages : 387
Date d'inscription : 24/08/2013

http://3dszone.netau.net

Revenir en haut Aller en bas

[Tutoriel]Sauvegarde avec MEM$ Empty Re: [Tutoriel]Sauvegarde avec MEM$

Message par fenixelf Lun 21 Avr - 18:52

Quel serait le bout de code exact?
Ca me donnera beaucoup d'indications pour comprendre et généraliser à mes autres programmes.
fenixelf
fenixelf

Messages : 229
Date d'inscription : 08/03/2014
Age : 24
Localisation : Île de France - La ville du bois

http://www.fenixelf-drawing.fr

Revenir en haut Aller en bas

[Tutoriel]Sauvegarde avec MEM$ Empty Re: [Tutoriel]Sauvegarde avec MEM$

Message par J8B Lun 21 Avr - 20:21

LEN est super simple à comprendre, il te donne le nombre de caractère que comporte un mot.

HP=120 comporte 3 caractères, pour le savoir LEN(STR$(HP))
Le problème est si tes HP=99, il comporte que 2 caractères ce qui va décaler tout dans MEM$. C'est pour cela que tu dois ajouter un zéro.
HP$=STR$(HP):X$=STR(X):Y$=STR(Y)
IF LEN(HP$)==3 THEN MEM$=HP$
IF LEN(HP$)==2 THEN MEM$="0"+HP$
IF LEN(HP$)==1 THEN MEM$="00"+HP$
MEM$=MEM$+NAME$+X$+Y$
Bien sûr si les variables NAME$, X$ et Y$ peuvent avoir une longueur de caractères différents, faudra le vérifier et agir en conséquence.

J8B
J8B

Messages : 408
Date d'inscription : 27/10/2013
Localisation : Tarn

http://jinbryce.free.fr

Revenir en haut Aller en bas

[Tutoriel]Sauvegarde avec MEM$ Empty Re: [Tutoriel]Sauvegarde avec MEM$

Message par fenixelf Mar 22 Avr - 10:04

OOOOOOOk... Tout s'éclaire, mais c'est vrai que j'ai souvent besoin qu'on me réexplique plusieurs fois sous des coutures différentes. Merci encore.
fenixelf
fenixelf

Messages : 229
Date d'inscription : 08/03/2014
Age : 24
Localisation : Île de France - La ville du bois

http://www.fenixelf-drawing.fr

Revenir en haut Aller en bas

[Tutoriel]Sauvegarde avec MEM$ Empty Re: [Tutoriel]Sauvegarde avec MEM$

Message par fenixelf Mar 22 Avr - 10:10

C'est dingue, grâce à vous, je comprends tout le tutoooooo ! bounce bounce bounce sunny cheers 
 bom                            sunny 
PSCHHHH.........BOOM !
Bref... Embarassed Trop content.
fenixelf
fenixelf

Messages : 229
Date d'inscription : 08/03/2014
Age : 24
Localisation : Île de France - La ville du bois

http://www.fenixelf-drawing.fr

Revenir en haut Aller en bas

[Tutoriel]Sauvegarde avec MEM$ Empty Re: [Tutoriel]Sauvegarde avec MEM$

Message par S.lexis Mar 22 Avr - 21:54

Je suis ravi d'avoir résolu cette énigme. :hap:
S.lexis
S.lexis

Messages : 387
Date d'inscription : 24/08/2013

http://3dszone.netau.net

Revenir en haut Aller en bas

[Tutoriel]Sauvegarde avec MEM$ Empty Re: [Tutoriel]Sauvegarde avec MEM$

Message par Woni Sam 15 Nov - 15:41

Comment on fait les patch ?
Woni
Woni

Messages : 13
Date d'inscription : 11/11/2014

Revenir en haut Aller en bas

[Tutoriel]Sauvegarde avec MEM$ Empty Re: [Tutoriel]Sauvegarde avec MEM$

Message par J8B Sam 15 Nov - 17:18

Ce n'est pas possible de faire des patch sur Petit computer.
J8B
J8B

Messages : 408
Date d'inscription : 27/10/2013
Localisation : Tarn

http://jinbryce.free.fr

Revenir en haut Aller en bas

[Tutoriel]Sauvegarde avec MEM$ Empty Re: [Tutoriel]Sauvegarde avec MEM$

Message par Woni Sam 15 Nov - 19:19

Raah zut.
Woni
Woni

Messages : 13
Date d'inscription : 11/11/2014

Revenir en haut Aller en bas

[Tutoriel]Sauvegarde avec MEM$ Empty Re: [Tutoriel]Sauvegarde avec MEM$

Message par fenixelf Mar 18 Nov - 14:25

C'est quoi un patch ? Raconte Smile !
fenixelf
fenixelf

Messages : 229
Date d'inscription : 08/03/2014
Age : 24
Localisation : Île de France - La ville du bois

http://www.fenixelf-drawing.fr

Revenir en haut Aller en bas

[Tutoriel]Sauvegarde avec MEM$ Empty Re: [Tutoriel]Sauvegarde avec MEM$

Message par J8B Mar 18 Nov - 20:02

Un patch est un petit programme qui sert à corriger les bugs ou à modifier une langue d'un autre programme spécifique. C'est très courant sur PC, mais impossible à faire sur PetitComputer.
J8B
J8B

Messages : 408
Date d'inscription : 27/10/2013
Localisation : Tarn

http://jinbryce.free.fr

Revenir en haut Aller en bas

[Tutoriel]Sauvegarde avec MEM$ Empty Re: [Tutoriel]Sauvegarde avec MEM$

Message par fenixelf Mer 19 Nov - 12:05

Ah et oui, impossible de faire réagir un programme sur un autre dans PTC...
fenixelf
fenixelf

Messages : 229
Date d'inscription : 08/03/2014
Age : 24
Localisation : Île de France - La ville du bois

http://www.fenixelf-drawing.fr

Revenir en haut Aller en bas

[Tutoriel]Sauvegarde avec MEM$ Empty Re: [Tutoriel]Sauvegarde avec MEM$

Message par CounterClockWize Dim 23 Nov - 22:43

Mut mut! scratch
hmmm! Il existe bien une commande pour effacer tout une ligne grace à son numéro?! Et ensuite la réécrire!
Donc... Ce serais possible d'appeler avec une ligne de code en "édite" un fichier qui contient les nouvelles lignes de codes et le numéro des anciennes à effacer...
Menfin vous voyez!
Une sorte de patch quoi avec quelque manip en édite!
Non?
CounterClockWize
CounterClockWize

Messages : 72
Date d'inscription : 23/08/2013

Revenir en haut Aller en bas

[Tutoriel]Sauvegarde avec MEM$ Empty Re: [Tutoriel]Sauvegarde avec MEM$

Message par Adriendu92 Lun 24 Nov - 17:03

a bon c'est quoi cette commande ?
Adriendu92
Adriendu92

Messages : 165
Date d'inscription : 07/12/2013
Age : 23
Localisation : Colombes

http://www.ptc-qr-code.sitew.fr/

Revenir en haut Aller en bas

[Tutoriel]Sauvegarde avec MEM$ Empty Re: [Tutoriel]Sauvegarde avec MEM$

Message par J8B Lun 24 Nov - 23:40

Non elle n'existe pas cette commande sur Petit Computer. C'est dommage mais c'est comme ça.
J8B
J8B

Messages : 408
Date d'inscription : 27/10/2013
Localisation : Tarn

http://jinbryce.free.fr

Revenir en haut Aller en bas

[Tutoriel]Sauvegarde avec MEM$ Empty Re: [Tutoriel]Sauvegarde avec MEM$

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Page 1 sur 2 1, 2  Suivant

Revenir en haut


 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum