Système de sauvegarde en local [Résolu]

pierrotrolo 3 Messages postés lundi 21 avril 2014Date d'inscription 22 avril 2014 Dernière intervention - 21 avril 2014 à 16:41 - Dernière réponse : pierrotrolo 3 Messages postés lundi 21 avril 2014Date d'inscription 22 avril 2014 Dernière intervention
- 22 avril 2014 à 11:13
Bonjour !
Je souhaite créer un système de sauvegarde pour un jeu que je suis entre de créer. Lorsque je réouvre mon site et que je clique sur le bouton "récupérer", mes variables sont bien récupérées. Cependant, lorsque je clique sur le bouton "jouer", mes variables reprennent leurs valeurs par défaut, c'est à dire 500 et 0, et non les valeurs que j'ai enregistré. J'ai donc créer une fonction permettant de savoir si une variable est stockée afin de remplacer la variable par défaut si nécessaire. Mais cette fonction ne marche pas. Je vous demande donc votre aide ! Merci d'avance !



<html>

<head>
<link rel="stylesheet"/>

<meta charset="utf-8" />
<title>test 5</title>


</head>

<body onLoad="verification()">

<form>

<script language="javascript">


var vie=500 ;
var pollution=0 ;
var vie=verification() ;

function verification () {
return localStorage.getItem('vie') !=undefined ? localStorage.getItem('vie') : 500;
}

function changer(increment) {
vie+=increment;
document.getElementById('vie').value=vie;
}

function modifier(increment) {
pollution+=increment;
document.getElementById('pollution').value=pollution;
}

</script>

<input type="button" value="jouer" onClick="changer(-1); modifier(+2)" ; >
<input type="text" id="vie" value="500">
<input type="text" id="pollution" value="0">
<input id="stockage" type="button" value="Mémoriser">
<input id="lecture" type="button" onClick="verification" value="Récupérer" >

<script language="javascript">

document.getElementById('vie').value=vie;
document.getElementById('pollution').value=pollution;

</script>

</form>

<script>

// Méthode de stockage
document.getElementById('stockage').onclick = function() {
if(typeof localStorage!='undefined') {
var sauvegarde = {
vie:document.getElementById('vie').value,
pollution:document.getElementById('pollution').value,
};
localStorage.setItem('coord',JSON.stringify(sauvegarde));
alert("Mémorisation effectuée");
} else alert("localStorage n'est pas supporté");
} ;

// Méthode de lecture
document.getElementById('lecture').onclick = function() {
if(typeof localStorage!='undefined') {
var sauvegarde = JSON.parse(localStorage.getItem('coord'));
document.getElementById('vie').value = sauvegarde.vie;
document.getElementById('pollution').value = sauvegarde.pollution;
alert("Lecture effectuée");
} else alert("localStorage n'est pas supporté");
} ;



</script>

</body>

</html>

Afficher la suite 

Votre réponse

4 réponses

@karamel 1661 Messages postés vendredi 9 mai 2008Date d'inscriptionModérateurStatut 23 août 2018 Dernière intervention - Modifié par kazma le 21/04/2014 à 18:00
0
Merci
bonjour

essai comme ceci

<script>
  
   // Méthode de stockage
   document.getElementById('stockage').onclick = function() {
   if(typeof localStorage!='undefined') {
   
   localStorage.vie=document.getElementById('vie').value,
   localStorage.pollution=document.getElementById('pollution').value,
   
   alert("Mémorisation effectuée");
   } else alert("localStorage n'est pas supporté");
   } ;
   
   // Méthode de lecture
   document.getElementById('lecture').onclick = function() {
   if(typeof localStorage!='undefined') {
   
   document.getElementById('vie').value = localStorage.vie;
   document.getElementById('pollution').value = localStorage.pollution;
   alert("Lecture effectuée");
   } else alert("localStorage n'est pas supporté");
   } ;  
  </script> 
 

cours Forest cours !
Commenter la réponse de @karamel
pierrotrolo 3 Messages postés lundi 21 avril 2014Date d'inscription 22 avril 2014 Dernière intervention - 21 avril 2014 à 19:22
0
Merci
Bonsoir,
Merci de votre réponse rapide ! J'ai donc essayé cela, mais malheureusement, mais le problème est toujours là. Je pense que le problème de vient pas de la sauvegarde ou de la récupération de celle-ci, mais plutôt de la fonction "verification"


<html>

<head>
<link rel="stylesheet"/>

<meta charset="utf-8" />
<title>test 6</title>


</head>

<body onLoad="verification()">

<form>

<script language="javascript">


var vie=500 ;
var pollution=0 ;


function changer(increment) {
vie+=increment;
document.getElementById('vie').value=vie;
}

function modifier(increment) {
pollution+=increment;
document.getElementById('pollution').value=pollution;
}

</script>

<input type="button" value="jouer" onClick="changer(-1); modifier(+2)" ; >
<input type="text" id="vie" value="500">
<input type="text" id="pollution" value="0">
<input id="stockage" type="button" value="Mémoriser">
<input id="lecture" type="button" onClick="verification" value="Récupérer" >

<script language="javascript">

document.getElementById('vie').value=vie;
document.getElementById('pollution').value=pollution;

</script>

</form>

<script>

// Méthode de stockage
document.getElementById('stockage').onclick = function() {
if(typeof localStorage!='undefined') {

localStorage.vie=document.getElementById('vie').value,
localStorage.pollution=document.getElementById('pollution').value,

alert("Mémorisation effectuée");
} else alert("localStorage n'est pas supporté");
} ;

// Méthode de lecture
document.getElementById('lecture').onclick = function() {
if(typeof localStorage!='undefined') {

document.getElementById('vie').value = localStorage.vie;
document.getElementById('pollution').value = localStorage.pollution;
alert("Lecture effectuée");
} else alert("localStorage n'est pas supporté");
} ;

</script>



</body>

</html>
Commenter la réponse de pierrotrolo
@karamel 1661 Messages postés vendredi 9 mai 2008Date d'inscriptionModérateurStatut 23 août 2018 Dernière intervention - Modifié par kazma le 21/04/2014 à 23:00
0
Merci
au click a l'appel de la fonction met juste le chiffre puis dans la fonction il faut faire un parseInt qui transforme une chaine de caractère en chiffre le probleme vient de la


function changer(increment) { 
vie+=parseInt(increment);
document.getElementById('vie').value=vie;
}

function modifier(increment) {
pollution-=parseInt(increment);
document.getElementById('pollution').value=pollution;
}

</script>

<input type="button" value="jouer" onClick="changer(1); modifier(2)" ; >


il y a aussi un probleme au niveau du localStorage il faut aussi faire un parseInt et transmettre les valeurs aux variables vie et pollution et au niveau du if il faut testé si ces valeurs existe deja dans le localStorage.

document.getElementById('lecture').onclick = function() {
     if(typeof localStorage!='undefined'  && localStorage.vie) {
     
     document.getElementById('vie').value = localStorage.vie;
     document.getElementById('pollution').value = localStorage.pollution;
     vie=parseInt(localStorage.vie)
     pollution=parseInt(localStorage.pollution)
     alert("Lecture effectuée");
     } else alert("localStorage n'est pas supporté");
     } ;  



le code en entier

<html>

 <head>
  <link rel="stylesheet"/>
  
  <meta charset="utf-8" />
  <title>test 6</title>
 
  
 </head>
 
 <body onLoad="verification()">
 
  <form>
  
  <script language="javascript">
   
   
   var vie=500 ;
   var pollution=0 ;
   
   
   function changer(increment) { 
   vie+=parseInt(increment); 
            document.getElementById('vie').value=vie;
            }
   
            function modifier(increment) {
            pollution-=parseInt(increment);
            document.getElementById('pollution').value=pollution;
            }
       
  </script>
  
  <input type="button" value="jouer" onClick="changer(-1); modifier(2)" ; >
        <input type="text" id="vie" value="500">
        <input type="text" id="pollution" value="0">
  <input id="stockage" type="button" value="Mémoriser">
  <input id="lecture" type="button" onClick="verification" value="Récupérer"  >
   
        <script language="javascript">
            
   document.getElementById('vie').value=vie;
            document.getElementById('pollution').value=pollution;
       
    </script>
    
    </form>
   
  <script>
  
   // Méthode de stockage
     document.getElementById('stockage').onclick = function() {
     if(typeof localStorage!='undefined') {
     
     localStorage.vie=document.getElementById('vie').value,
     localStorage.pollution=document.getElementById('pollution').value,
     
     
     alert("Mémorisation effectuée");
     } else alert("localStorage n'est pas supporté");
     } ;
     
     // Méthode de lecture
     document.getElementById('lecture').onclick = function() {
     if(typeof localStorage!='undefined'  && localStorage.vie) {
     
     document.getElementById('vie').value = localStorage.vie;
     document.getElementById('pollution').value = localStorage.pollution;
     vie=parseInt(localStorage.vie)
     pollution=parseInt(localStorage.pollution)
     alert("Lecture effectuée");
     } else alert("localStorage n'est pas supporté");
     } ;  
  
  </script>
   
  
  
 </body>

</html>


cours Forest cours !
Commenter la réponse de @karamel
pierrotrolo 3 Messages postés lundi 21 avril 2014Date d'inscription 22 avril 2014 Dernière intervention - 22 avril 2014 à 11:13
0
Merci
Bonjour !
Votre code marche parfaitement bien ! Merci beaucoup pour votre aide !
Commenter la réponse de pierrotrolo

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.