Programme jeu blackjack, bug variable globale

mimounette89 Messages postés 2 Statut Membre -  
mimounette89 Messages postés 2 Statut Membre -
Bonjour,

j'ai un bug avec mon programme javascript! j'essaye de programmer un site de blackjack. J'ai une variable cash qui correspond à l'argent dont dispose le joueur. Je l'ai définie avant toutes les autres fonctions donc je suppose que ca suffit pour la définir comme variable globale?

je l'ai initialisée : var cash=2000;
puis pour pouvoir miser jai le code HTML suivant :

<div id="miseentree">Combien voulez-vous parier?
<input type="text" id="wager" placeholder="wager"/>
<input type="button" onclick="Miser(document.getElementById('wager').value)" value="Pariez!"/>
</div>

Et la fonction miser en JS:
function Miser(montant){
if(cash>=montant){
document.getElementById('choix').style.display = 'inline';
document.getElementById('miseentree').style.display = 'none';
cash = cash - montant;
mise= mise + montant;
document.getElementById('cash').innerHTML = cash;
document.getElementById('mise').innerHTML = mise;
ajouterCarteDealer();
ajouterCarteJoueur();
ajouterCarteJoueur();

}
else{
alert("Vous n'avez pas assez d'argent!");
}
}

Quand je teste il me dit systématiquement que je n'ai pas assez d'argent pour miser et j'ai essayé de faire afficher la valeur du cash et de la mise dans l'alert j'ai mis :

alert("Vous n'avez pas assez d'argent! argent="+cash+"mise="+montant);

Il reconnait bien la valeur de la mise et l'affiche mais me dit pour la valeur de cash "undefined"! je comprends pas pourquoi il ne reconnait pas la variable cash ???? !

1 réponse

  1. maka54 Messages postés 721 Statut Membre 80
     
    tu n'as pas définis la variable cash

    pour qu'elle soit globale, tu dois la définir en dehors de toute fonction

    var cash = ....;

    sinon rien a voir avec la programmation, mais au blackjack, il me semble que les premières cartes ditribuées sont aux joueurs

    ajouterCarteDealer(); 
    ajouterCarteJoueur(); 
    ajouterCarteJoueur(); 


    lorsque tous les joueurs ont une carte alors la banque tire sa première carte

    edit :
    désolé je corrige, je n'avais pas vu cette ligne :
    je l'ai initialisée : var cash=2000; 
    0
    1. mimounette89 Messages postés 2 Statut Membre
       
      En fait il me le fait pour quasiment toutes les variables que j'ai déclarées au début avant toute fonction, il en reconnait aucune dans toutes les fonctions de mon code.. :-(((
      0