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 ???? !

A voir également:

1 réponse

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
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