IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

jeu mémoire


Sujet :

JavaScript

  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2012
    Messages : 73
    Points : 75
    Points
    75
    Par défaut jeu mémoire
    Salut a tous j'ai fait un petit jeu de mémoire pour mes enfant et je voudrais ajouter un mode pro(une case a cocher) et quand la case est cocher sa limite le nombre de tentative a 20 j'ai fais une fonction qui se nomme "pro" mais ca fonctionne pas et je sais pas si tout simplement si je devrais juste mettre le code directement dans ma fonction "joue"
    Merci d'avance pour votre aide
    Voici mon code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    nombre=0;
    points=0;
    tentatives=0;
    function init(){
    	img=new Array(20);
    		for (i=0;i<10;i++){
    			img[i]=i+1;
    			img[i+10]=i+1;
    		}
    		for (i=0;i<20;i++){
    			a=rnd(20);
    			b=img[a];
    			img[a]=img[i];
    			img[i]=b;
    		}
     
    	points=0;
    	tentatives=0;
    	document.getElementById('affNbCoup').innerHTML='0';
    	var i = 0;
    		for (i=0;i<=20;i++){
    			document.getElementById('cartepos'+i).src='0.png';
    		}
    }
     
     
     
    function joue(i){
    	if (img[i]!=-1){
    		if (nombre==0){
    			nombre=1;
    			case1=i;
    			change(i,img[i]+'.png',0);
    		}else if (nombre==1){
    			case2=i;
    			change(i,img[i]+'.png',0);
    			tentatives++;
    			document.getElementById("affNbCoup").innerHTML=tentatives;
    			if (img[case1]==img[case2]){
    				points++;
    				img[case1]=-1;
    				img[case2]=-1;
    				if (points==10){
    					document.getElementById("affRecord").innerHTML=Math.min(tentatives);
    					alert("Vous avez gagné");
    				}
    			}else{
    				setTimeout("change("+case1+",'0.png',0);change("+case2+",'0.png',0);", 1000);
    			}
    			nombre=0;
    		}
    	}
    }
    function change(image, j, avancement)
    {	
    	document.images[image].src=j;
    	avancement++;
    	if (avancement<23)setTimeout("change("+image+", '"+j+"', "+avancement+");",10);
    }
    function rnd(n)
    {
    	var temp = Math.random();
    	if (temp==1) temp=0.9;
    	return Math.floor(temp * n);
    }
    function nouvellePartie(){
    	init();
    }
     
    function pro(){
    	if(document.getElementById("checkPRO").value=checked){
    		if(tentatives===20){
    			alert("Partie Terminer")
    		}
    	}
    }	
    onload=init;

  2. #2
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 681
    Points : 5 221
    Points
    5 221
    Par défaut
    il serait déjà bon de déclarer vraiment tentative avant init();


  3. #3
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2012
    Messages : 73
    Points : 75
    Points
    75
    Par défaut
    Elle est déja déclarer ma variable avant init

  4. #4
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 151
    Points : 44 965
    Points
    44 965
    Par défaut
    Bonjour,
    pas entierement lu le code mais je suis tombé la dessus
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById("affRecord").innerHTML=Math.min(tentatives);
    pour qu'elle veuille dire quelque chose il faut passer 2 paramètres à la méthode min de l'objet Math pour qu'elle renvoie le plus petit.

    Citation Envoyé par javatwister
    il serait déjà bon de déclarer vraiment tentative avant init();
    il parle de l'utilisation fortement recommandé du mot clé var.

  5. #5
    Membre émérite
    Avatar de Kaamo
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    1 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 165
    Points : 2 778
    Points
    2 778
    Par défaut
    pour tester si un élément de type checkbox est coché, il ne faut pas faire :

    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    if(document.getElementById("checkPRO").value=checked)
    mais plutôt :
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    if(document.getElementById("checkPRO").checked == true)

  6. #6
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2012
    Messages : 73
    Points : 75
    Points
    75
    Par défaut
    Citation Envoyé par NoSmoking Voir le message
    Bonjour,
    pas entierement lu le code mais je suis tombé la dessus
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById("affRecord").innerHTML=Math.min(tentatives);
    pour qu'elle veuille dire quelque chose il faut passer 2 paramètres à la méthode min de l'objet Math pour qu'elle renvoie le plus petit.

    il parle de l'utilisation fortement recommandé du mot clé var.
    Comment je pourrai faire pour lui passer 2 paramètres ,dans le fond qu'il retienne le score de la partie précédente et qu'il vérifie le score de la partie jouer

  7. #7
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 151
    Points : 44 965
    Points
    44 965
    Par défaut
    il te suffit de gérer une variable min_score, par exemple, et ensuite tu géres
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    min_score = Math.min( min_score, tentatives);
    document.getElementById("affRecord").innerHTML = min_score;
    min_score ayant été initialisé à Number.MAX_VALUE, pour être sûr que la première fois tu gardes bien le bon score.

  8. #8
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2012
    Messages : 73
    Points : 75
    Points
    75
    Par défaut
    Est-ce que je doit donner une valeur a min_score parce que ca me donne NaN comme score
    Je comprend pas trop le max value peut tu m'expliquer merci

  9. #9
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 151
    Points : 44 965
    Points
    44 965
    Par défaut
    Est-ce que je doit donner une valeur a min_score parce que ca me donne NaN comme score
    IMPERATIF.
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <!DOCTYPE HTML>
    <html lang="fr">
    <head>
    <title>[...]</title>
    </head>
    <body>
    <div id="score"></div>
    <script type="text/javascript">
    var min_score =  Number.MAX_VALUE; // initialsation IMPERATIVE
    var tentatives = 15;
    min_score = Math.min( min_score, tentatives);
    document.getElementById('score').innerHTML = min_score;
    </script>
    </body>
    </html>
    Je comprend pas trop le max value peut tu m'expliquer merci
    il suffit de faire ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alert( Number.MAX_VALUE);
    ...c'est une propriété de l'objet Number qui représente la plus grande valeur disponible en javascript.

  10. #10
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2012
    Messages : 73
    Points : 75
    Points
    75
    Par défaut
    J'ai tester mais ca fonctionne pas ca me donne toujours 15 ouf j'ai les neuronne en ébulition lolll
    j'ai fais un test sans la variable tentatives:15 et il garde pas le score précédent en mémoire il affiche toujours le nouveau score
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    var min_score = Number.MAX_VALUE;
    					min_score = Math.min( min_score, tentatives);
    					document.getElementById("affRecord").innerHTML = min_score;

  11. #11
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2012
    Messages : 73
    Points : 75
    Points
    75
    Par défaut
    Merci a tous pour votre aide précieuse j'ai réussis mon mode pro et j'ai réussis pour le record

    Pour régler le probleme du record j'ai mis minScore = Number.MAX_VALUE; en variable globale et la tout fonctionne a merveille

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Jeu de mémoire
    Par lesarbres dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 21/04/2012, 22h12
  2. [RPG] Déroulement du jeu : comment le représenter en mémoire ?
    Par TheDrev dans le forum Développement 2D, 3D et Jeux
    Réponses: 1
    Dernier message: 31/08/2009, 21h20
  3. [Source] Un petit jeu de mémoire
    Par luckyvae dans le forum Contribuez
    Réponses: 2
    Dernier message: 03/01/2007, 19h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo