begin process at 2012 05 28 13:03:24
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Jeux

 > LE COMPTE EST BON

LE COMPTE EST BON


 Information sur la source

Note :
9 / 10 - par 1 personne
9,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Jeux Classé sous :algorithme, fonction récurente, objet javascript, opérations élémentaires, quizz Niveau :Initié Date de création :27/09/2010 Date de mise à jour :23/02/2011 12:05:32 Vu / téléchargé :3 665 / 206

Auteur : 007Julien

Ecrire un message privé
Commentaire sur cette source (4)
Ajouter un commentaire et/ou une note

 Description

Intégrée à une simple page html, cette version javascript, permet de s'adonner au jeu télévisé bien connu, sans aucun logiciel ni applet.
Fonctionne sur tous les navigateurs récents.

Source

  • <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
  • <html lang="fr">
  • <head>
  • <title>Le compte est bon</title>
  • <meta http-equiv="content-type" content="text/html; charset=utf-8">
  • <style type="text/css">
  • <!--
  • body,input,select {font-family:georgia;font-size:9pt;color:#000066}
  • body {margin:0px;padding:20px}
  • h1 {margin:13px;padding:0;margin-top:0;font-size:20pt;text-align:center;font-weight:bold;color:#990099}
  • hr{width:300px}
  • div{margin:0;padding:0;border:0}
  • p {margin:7px;padding:0;text-align:center}
  • input {text-align:center;border:1px solid gray}
  • #jeu{margin-bottom:17px}
  • #jeu p {text-align:center}
  • #jeu span{font-size:9pt;font-weight:normal}
  • #idc {width:100px;margin:13px auto;padding:3px 3px 7px;font-size:36px;background-color:#cccccc}
  • #ipl {width:436px;margin:0 auto;border:0px solid red}
  • #ipl input {display:block;float:left;width:44px;margin:0 10px;padding:3px 3px 5px;font-size:24px;background-color:#eeeeee}
  • #mdp {clear:both;margin-top:60px}
  • #idt,#isl {font-size:18px;font-weight:bold}
  • a {color:#990099}
  • #pdp{text-align:center}
  • -->
  • </style>
  • <script type="text/javascript">
  • <!--
  • function $(i){return document.getElementById(i)}
  • var _p=[1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10,25,50,75,100];
  • var _c,_t=new Array(6),_m,_e={"which":13,"target":null};
  • var Tgn={
  • c:null,// valeur cible initiale
  • b:null,// valeur cible bis (initiale ou modifiée)
  • n:null,// nombre de plaques valides
  • m:null,// message compte, approximation ou erreur
  • r:null,// réponse littérale
  • s:null,// spectre des valeurs
  • t:new Array(42),// tableau des plaques selon les niveaux
  • z:null,// temps de calcul
  • sol:function(c,p,mode){var i,j,k,o=[],q=[],l=p.length,x;
  • this.z=-(new Date().getTime());
  • if (c=='') c=0;c=parseInt(c);
  • if (typeof(c)!='number' || c<1) {this.m='Valeur cible erronée';
  • this.r='<br>toutes les valeurs entières positives sont ici admises !';this.z=0;return}
  • this.c=parseInt(c);this.b=this.c;this.s={};
  • j=0;for (i=0;i<l;i++) {if (isNaN(k=parseInt(p[i]))) continue;q[j++]=k;}
  • if (j<3) {this.m='Nombre de plaques insuffisant';
  • this.r='<br>trois plaques vierges au plus sont acceptées !';this.z=0;return}
  • this.m='Le compte est bon';
  • // Classement décroissant
  • this.n=j;for (i=0;i<j;i++) {k=i;while(0<k && o[k-1]<q[i]) o[k]=o[--k];o[k]=q[i];}
  • // Enregitrement plaques ordonnées (le max dégrade o) et test si une plaque convient
  • for(i=0;i<j;i++) {Tgn.t[6*j+i]=o[i];if (this.c==o[i]) {this.r='<br>'+o[i];this.z=0;return}}
  • // Calcul du max modifié 2010.09.19
  • x=1;
  • while (o[k=j-1]==1) if (5<j && o[j-2]==1 && o[j-3]==1 && o[j-4]==2 && o[j-5]==2 && o[j-6]==2) {x=27;j=j-6;}
  • else if (3<j && o[j-2]==1 && o[j-3]==2 && o[j-4]==2) {x=9;j=j-4;}
  • else {v=o[--k]+1;while(0<k && o[k-1]<v) o[k]=o[k--];o[k]=v;j=j-1;}
  • k=j-1;while(-1<k) x*=o[k--];
  • // Cible modifiée si supérieure à max
  • if (x<this.c) {this.b=x;this.m=''+x;}
  • while (!this.dcp(this.n)) {
  • i=this.b+1;while(typeof(this.s[i])=='undefined') i++;
  • j=this.b-1;while(0<j && typeof(this.s[j])=='undefined') j--;
  • if ((this.b-j)<=(i-this.b)) this.b=j;else this.b=i;
  • this.m=''+this.b;this.s={};}
  • this.z+=new Date().getTime();
  • },
  • // Modifié 2010.09.19 plus de tri (mais un test initial) pour ne reprendre qu'une fois les valeurs
  • // Modifié le 2010.09.21 seules les opérations utiles sont reprises
  • dcp:function(a){var i,j,k,v=(a<<3)-a,u=v-a,x,y,w;
  • for (i=u;i<v;i++) for (j=u;j<v;j++){
  • if (i==j || (x=this.t[i])<(y=this.t[j])) continue;
  • // addition
  • if ((w=x+y)==this.b) {this.r='<br> '+x+' + '+y+' = '+w;return 1;}
  • // seule définition des plaques à reprendre
  • k=u-5;for (var l=u;l<v;l++) {if (l==i || l==j) continue;
  • this.t[k++]=this.t[l];}
  • k=u-6;
  • this.s[w]=1;this.t[k]=w;
  • if (this.dcp(a-1)==1) {
  • if (-1<this.r.search(new RegExp(' '+w+' '))) this.r='<br> '+this.t[i]+' + '+this.t[j]+' = '+w+this.r;
  • return 1;}
  • // soustraction
  • if (x!=y && x!=y<<1) {
  • if ((w=x-y)==this.b) {this.r='<br> '+x+' - '+y+' = '+w;return 1;}
  • this.s[w]=1;this.t[k]=w;
  • if (this.dcp(a-1)==1){
  • if (-1<this.r.search(new RegExp(' '+w+' '))) this.r='<br> '+this.t[i]+' - '+this.t[j]+' = '+w+this.r;
  • return 1;}}
  • // multiplication
  • if (1<x && 1<y) {
  • if ((w=x*y)==this.b) {this.r='<br> '+x+' x '+y+' = '+w;return 1;}
  • this.s[w]=1;this.t[k]=w;
  • if (this.dcp(a-1)==1){
  • if (-1<this.r.search(new RegExp(' '+w+' '))) this.r='<br> '+this.t[i]+' x '+this.t[j]+' = '+w+this.r;
  • return 1;}}
  • // division
  • if (1<y && x%y==0 && x!=y*y) {
  • if ((w=x/y)==this.b) {this.r='<br> '+x+' / '+y+' = '+w;return 1;}
  • this.s[w]=1;this.t[k]=w;
  • if (this.dcp(a-1)==1){
  • if (-1<this.r.search(new RegExp(' '+w+' '))) this.r='<br> '+this.t[i]+' / '+this.t[j]+' = '+w+this.r;
  • return 1;}}
  • }
  • return 0}
  • };
  • function ini(){var i,j,p={},t;
  • do {_c=100+Math.floor(900*Math.random())} while (_c==1000);
  • for (i=0;i<6;i++) {
  • do {j=Math.floor(24*Math.random())} while (j==24 || typeof(p[j])=='number');
  • _t[i]=_p[j];p[j]=1;}
  • $('idc').value=_c;$('isl').innerHTML='';
  • t="";i=0;while(i<6) t+='<input id="idp'+i+'" type="text" value="'+_t[i++]+'">';
  • $('ipl').innerHTML=t;
  • setTimeout('sol()',7);
  • }
  • function ntr(e){var o=!e?window.event.keyCode:e.which,t=!e?window.event.srcElement:e.target;
  • if (t.id.substr(0,2)=='id' && t.value!='' && (t.value==0 || isNaN(t.value))) {t.value='';$('isl').innerHTML='';return}
  • if (t.id.substr(0,2)=='id' && t.value<0) {t.value=-t.value;$('isl').innerHTML='';return}
  • if (o!=13 || t.id.substr(0,2)!='id') return true;
  • _c=$('idc').value;
  • for (i=0;i<6;i++) _t[i]=$('idp'+i).value;
  • $('isl').innerHTML='';setTimeout('sol()',7);
  • }
  • function sol(){
  • Tgn.sol(_c,_t);_m='<a id="idt" href="javascript:edt()" title="En savoir plus...">'+Tgn.m+' !</a>';
  • $('isl').innerHTML=_m;
  • }
  • function edt(){var t=(Tgn.z<2)?'<span>immédiat</span>':'<span>(en '+Tgn.z.toString()+' millisecondes)</span>';
  • $('isl').innerHTML=Tgn.m+' '+t+Tgn.r;
  • }
  • document.onkeyup=ntr;
  • // -->
  • </script>
  • </head>
  • <body onload="ini()">
  • <div><h1>Le compte est bon</h1>
  • <p>Le <a href="http://programmes.france3.fr/des-chiffres-et-des-lettres/23806420-fr.php" title="Voir Des chiffres et des lettres sur France3">jeu</a> consiste à obtenir ou approcher un nombre de trois chiffres<br>
  • au moyen des opérations élémentaires appliquées au plus à six nombres entiers</p>
  • <div id="jeu"><p><input id="idc" type="text" value=""></p><p id="ipl"></p>
  • <p id="mdp"><a href="javascript:(_e.target=$('idc'),ntr(_e))" title="Lancer la résolution du jeu affiché">Ok</a> ou <b><i>Entrée</i></b> après modifications des valeurs ou <a href="javascript:ini()" title="Nouveau jeu">tirage au sort</a></p>
  • <p id="isl"></p>
  • </div>
  • </div>
  • <div id="pdp">L&#65533;utilisation de FireFox, Google Chrome, Opera ou Safari permet d&#65533;éviter les avertissements d&#65533;Internet Explorer
  • <hr><i>Page entoilée par Julien de Prabère - septembre 2010</i></div>
  • </body>
  • </html>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="fr">
<head>
	<title>Le compte est bon</title>
	<meta http-equiv="content-type" content="text/html; charset=utf-8">
<style type="text/css">
<!--
body,input,select {font-family:georgia;font-size:9pt;color:#000066}
body {margin:0px;padding:20px}
h1 {margin:13px;padding:0;margin-top:0;font-size:20pt;text-align:center;font-weight:bold;color:#990099}
hr{width:300px}
div{margin:0;padding:0;border:0}
p {margin:7px;padding:0;text-align:center}
input {text-align:center;border:1px solid gray}
#jeu{margin-bottom:17px}
#jeu p {text-align:center}
#jeu span{font-size:9pt;font-weight:normal}
#idc {width:100px;margin:13px auto;padding:3px 3px 7px;font-size:36px;background-color:#cccccc}
#ipl {width:436px;margin:0 auto;border:0px solid red}
#ipl input {display:block;float:left;width:44px;margin:0 10px;padding:3px 3px 5px;font-size:24px;background-color:#eeeeee}
#mdp {clear:both;margin-top:60px}
#idt,#isl {font-size:18px;font-weight:bold}
a {color:#990099}
#pdp{text-align:center}
-->
</style>
<script type="text/javascript">
<!--
function $(i){return document.getElementById(i)}
var _p=[1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10,25,50,75,100];
var _c,_t=new Array(6),_m,_e={"which":13,"target":null};
var Tgn={
	c:null,// valeur cible initiale
	b:null,// valeur cible bis (initiale ou modifiée)
	n:null,// nombre de plaques valides
	m:null,// message compte, approximation ou erreur
	r:null,// réponse littérale
	s:null,// spectre des valeurs
	t:new Array(42),// tableau des plaques selon les niveaux
	z:null,// temps de calcul

	sol:function(c,p,mode){var i,j,k,o=[],q=[],l=p.length,x;
		this.z=-(new Date().getTime());
	  if (c=='') c=0;c=parseInt(c);
		if (typeof(c)!='number' || c<1) {this.m='Valeur cible erronée';
			this.r='<br>toutes les valeurs entières positives sont ici admises !';this.z=0;return}
	  this.c=parseInt(c);this.b=this.c;this.s={};
	  j=0;for (i=0;i<l;i++) {if (isNaN(k=parseInt(p[i]))) continue;q[j++]=k;}
    if (j<3) {this.m='Nombre de plaques insuffisant';
			this.r='<br>trois plaques vierges au plus sont acceptées !';this.z=0;return}
    this.m='Le compte est bon';
	  // Classement décroissant 
	  this.n=j;for (i=0;i<j;i++) {k=i;while(0<k && o[k-1]<q[i]) o[k]=o[--k];o[k]=q[i];}
	  // Enregitrement plaques ordonnées (le max dégrade o) et test si une plaque convient
		for(i=0;i<j;i++) {Tgn.t[6*j+i]=o[i];if (this.c==o[i]) {this.r='<br>'+o[i];this.z=0;return}}
		// Calcul du max modifié 2010.09.19
		x=1;
		while (o[k=j-1]==1) if (5<j && o[j-2]==1 && o[j-3]==1 && o[j-4]==2 && o[j-5]==2 && o[j-6]==2) {x=27;j=j-6;}
			else if (3<j && o[j-2]==1 && o[j-3]==2 && o[j-4]==2) {x=9;j=j-4;}
			else {v=o[--k]+1;while(0<k && o[k-1]<v) o[k]=o[k--];o[k]=v;j=j-1;}
		k=j-1;while(-1<k) x*=o[k--];
		
		// Cible modifiée si supérieure à max
		if (x<this.c) {this.b=x;this.m=''+x;}
    while (!this.dcp(this.n)) {
   		i=this.b+1;while(typeof(this.s[i])=='undefined') i++;
  		j=this.b-1;while(0<j && typeof(this.s[j])=='undefined') j--;
  		if ((this.b-j)<=(i-this.b)) this.b=j;else this.b=i;
  		this.m=''+this.b;this.s={};}
    	this.z+=new Date().getTime();
		},
  // Modifié 2010.09.19 plus de tri (mais un test initial) pour ne reprendre qu'une fois les valeurs
	// Modifié le 2010.09.21 seules les opérations utiles sont reprises
	dcp:function(a){var i,j,k,v=(a<<3)-a,u=v-a,x,y,w;
  	for (i=u;i<v;i++)	for (j=u;j<v;j++){
		  if (i==j || (x=this.t[i])<(y=this.t[j])) continue;

		  // addition
		  if ((w=x+y)==this.b) {this.r='<br> '+x+' + '+y+' = '+w;return 1;}
			// seule définition des plaques à reprendre
			k=u-5;for (var l=u;l<v;l++) {if (l==i || l==j) continue;
        this.t[k++]=this.t[l];}
      k=u-6;
			this.s[w]=1;this.t[k]=w;
			if (this.dcp(a-1)==1) {
				if (-1<this.r.search(new RegExp(' '+w+' '))) this.r='<br> '+this.t[i]+' + '+this.t[j]+' = '+w+this.r;
				return 1;}
			// soustraction
			if (x!=y && x!=y<<1) {
		  if ((w=x-y)==this.b) {this.r='<br> '+x+' - '+y+' = '+w;return 1;}
     	this.s[w]=1;this.t[k]=w;
			if (this.dcp(a-1)==1){
				if (-1<this.r.search(new RegExp(' '+w+' ')))	this.r='<br> '+this.t[i]+' - '+this.t[j]+' = '+w+this.r;
				return 1;}}
			// multiplication
			if (1<x && 1<y) {
		  if ((w=x*y)==this.b) {this.r='<br> '+x+' x '+y+' = '+w;return 1;}
     	this.s[w]=1;this.t[k]=w;
			if (this.dcp(a-1)==1){
				if (-1<this.r.search(new RegExp(' '+w+' ')))	this.r='<br> '+this.t[i]+' x '+this.t[j]+' = '+w+this.r;
				return 1;}}
			// division
			if (1<y && x%y==0 && x!=y*y) {
		  if ((w=x/y)==this.b) {this.r='<br> '+x+' / '+y+' = '+w;return 1;}
     	this.s[w]=1;this.t[k]=w;
			if (this.dcp(a-1)==1){
				if (-1<this.r.search(new RegExp(' '+w+' '))) this.r='<br> '+this.t[i]+' / '+this.t[j]+' = '+w+this.r;
				return 1;}}
	}
	return 0}
};

function ini(){var i,j,p={},t;
	do {_c=100+Math.floor(900*Math.random())} while (_c==1000);
  for (i=0;i<6;i++) {
    do {j=Math.floor(24*Math.random())} while (j==24 || typeof(p[j])=='number');
		_t[i]=_p[j];p[j]=1;}
	$('idc').value=_c;$('isl').innerHTML='';
	t="";i=0;while(i<6) t+='<input id="idp'+i+'" type="text" value="'+_t[i++]+'">';
	$('ipl').innerHTML=t;
	setTimeout('sol()',7);
}
function ntr(e){var o=!e?window.event.keyCode:e.which,t=!e?window.event.srcElement:e.target;
	if (t.id.substr(0,2)=='id' && t.value!='' && (t.value==0 || isNaN(t.value))) {t.value='';$('isl').innerHTML='';return}
	if (t.id.substr(0,2)=='id' && t.value<0) {t.value=-t.value;$('isl').innerHTML='';return}
	if (o!=13 || t.id.substr(0,2)!='id') return true;
	_c=$('idc').value;
	for (i=0;i<6;i++) _t[i]=$('idp'+i).value;
	$('isl').innerHTML='';setTimeout('sol()',7);
}
function sol(){
	Tgn.sol(_c,_t);_m='<a id="idt" href="javascript:edt()" title="En savoir plus...">'+Tgn.m+' !</a>';
	$('isl').innerHTML=_m;
}
function edt(){var t=(Tgn.z<2)?'<span>immédiat</span>':'<span>(en '+Tgn.z.toString()+' millisecondes)</span>';
	$('isl').innerHTML=Tgn.m+' '+t+Tgn.r;
}
document.onkeyup=ntr;
// -->
</script>
</head>
<body onload="ini()">
	<div><h1>Le compte est bon</h1>
	  <p>Le <a href="http://programmes.france3.fr/des-chiffres-et-des-lettres/23806420-fr.php" title="Voir Des chiffres et des lettres sur France3">jeu</a> consiste à obtenir ou approcher un nombre de trois chiffres<br>
		au moyen des opérations élémentaires appliquées au plus à six nombres entiers</p>
		<div id="jeu"><p><input id="idc" type="text" value=""></p><p id="ipl"></p>
		<p id="mdp"><a href="javascript:(_e.target=$('idc'),ntr(_e))" title="Lancer la résolution du jeu affiché">Ok</a> ou <b><i>Entrée</i></b> après modifications des valeurs ou <a href="javascript:ini()" title="Nouveau jeu">tirage au sort</a></p>
  	<p id="isl"></p>
  	</div>
	</div>

	<div id="pdp">L&#65533;utilisation de FireFox, Google Chrome, Opera ou Safari permet d&#65533;éviter les avertissements d&#65533;Internet Explorer
	<hr><i>Page entoilée par Julien de Prabère - septembre 2010</i></div>
</body>
</html>

 Conclusion

Qui saura améliorer ce script pour trouver non pas la première mais la meilleure solution ?

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

23 février 2011 12:05:33 :
Adaptation des mots clefs

 Sources du même auteur

Source avec Zip Source avec une capture PUISSANCE 4
ÉCRIRE UN MONTANT MONÉTAIRE SOUS FORME LITTÉRALE
Source avec Zip CALENDRIER ANNUEL UNIVERSEL AVEC SAINTS DU CALENDRIER ET FÊT...

 Sources de la même categorie

Source avec Zip Source avec une capture AVVDA : A VERY VERY DARK AFFAIRES DEMO par Cyreb
Source avec Zip Source avec une capture 3D AVEC WEBGL + MESH par Hakumbaya
SUDOKU RESOLVER (BRUTEFORECE, RÉCURSION) par amezghal
Source avec Zip MACHINE À SOUS par loicseg
Source avec Zip DOODLE JUMP EN JAVASCRIPT par Toshy62

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture PUISSANCE 4 par 007Julien
Source avec Zip Source avec une capture QUIZZ MASTER : 2000 QUESTIONS POUR TESTER VOTRE CULTURE par amrounix
Source avec Zip TEST, QUIZZ, QCM, QUESTIONNAIRE SUR RÉPONSE OUI OU NON AVEC ... par BDFC
Source avec Zip LES PHASES DE LA LUNE par lgh
Source avec Zip Source avec une capture TRI DE TABLEAU, ALGORITHME LES PLUS CONNUS IMPLÉMENTÉS (FUSI... par the_wwt

Commentaires et avis

Commentaire de jdmcreator le 30/09/2010 23:31:04 9/10

Bonjour,

Je ne comprends pas tout à fait ce que c'est, puisque je ne connais pas le jeu. Seulement, la création d'une fonction $(id) n'est pas vraiment une bonne idée, puisque cela rend ce script incompatible avec bien d'autres scripts fonctionnant avec JQuery ou Prototype.js

D'ailleurs, cette ligne :

function $(i){return document.getElementById(i)}

est compressive par :

$=document.getElementById;

Sinon, tout le reste me semble bon. Programmation orienté objet et tout, je peux donc dire bravo, je mets donc un 9.

Commentaire de 007Julien le 01/10/2010 00:40:22

Ok Merci.
Cette fonction (qui commençait par un if (document.all) return document.all[i] else ... ) n'a d'intérêt qu'en l'absence de Jquery ou autres Prototype. Elle est effectivement de peu d'utilité pour ce script.

Sinon, bien qu'il s'agisse d'un jeu télévisé déjà ancien bien connu en France (voir le lien sur le mot jeu) et au Royaume-uni (voir aussi http://fr.wikipedia.org/wiki/Des_chiffres_et_des_lettres ou encore http://www.dailymotion.com/video/x1p7s6_le-compte-est-bon-version-anglaise_fun), cette page et son script constituent, à ma connaissance, une première.

  

Commentaire de 007Julien le 02/10/2010 13:22:08

Après test, Mozilla FireFox ne supporte apparemment pas la compression proposée $=document.getElementById;

Firebug donne en effet l'erreur suivante :
uncaught exception: [Exception... "Illegal operation on WrappedNative prototype object" nsresult: "0x8057000c (NS_ERROR_XPC_BAD_OP_ON_WN_PROTO)" location...

Je maintiens donc cette fonction jadis recommandée par PPK sur http://www.quirksmode.org/.

Commentaire de 007Julien le 11/12/2010 12:26:30

Quelques commentaires sur la structure du script.

Ce script utilise les variables globales _c pour la cible et _t (un tableau) pour le tirage (ligne 29 de la source affichée par Internet Explorer).

Au chargement de la page (voir ligne 137) la fonction ini() (lignes 110 à 119) procède à un tirage aléatoire tant pour la cible que pour les plaques, efface les éventuelles données précédentes pour les actualiser, puis lance (avec un setTimeout pour que l'affichage ait effectivement lieu avant le lancement de la résolution) la fonction sol() (lignes 127 à 130).

Cette dernière fonction après avoir lancée la fonction éponyme Tgn.sol de l'objet Tgn (comme tirage généralisé) affiche le message résultant Tgn.m et laisse la main à l'utilisateur qui, notamment en cliquant sur le lien tirage au sort, peut relancer le processus en rappelant la fonction ini().

L'élément moteur du script est donc l'objet Tgn, construit au chargement du script (et en quelque sorte pré-compilé). Sa fonction de résolution sol appelée avec les arguments _c et _t actualise les propriétés listées au début de sa définition. Elle fait appel à la fonction récurrente dcp(a) qui ne retourne vrai que lorsqu'elle réussit, avec un nombre de plaques donné (*), à atteindre la cible b ().

La mise en mémoire de toutes les valeurs atteintes par le jeu de plaques donné (dans l'objet s), permet en outre en cas d'échec (pas de compte est bon), de ne relancer que la recherche de la solution la plus proche de la cible.

Enfin, la fonction accessoire ntr() contrôle les entrées au clavier.

(*) Ce nombre de plaques ou niveau a est utilisé pour stocker (entre les rangs 6a inclus et 7a exclus) les valeurs des plaques ou pseudo-plaques (résultats intermédiaires) obtenus.

(**) La cible c peut être réduite (valeur b) à la valeur maximale susceptible d'être obtenue avec les plaques, si celle-ci lui est inférieure.

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

verification formulaire avec test() [ par ygsi5355 ] J'avais une vérification qui fonctionnait bien.J'ai ajouté || (/^[0-9] {10}$/.test(document.quizz.tel.value))pour vérifier qu'il y a uniquement 10 chi Quizz html [ par jeremiedub ] Bonjour, je suis novice en JavaScript et j'essaie de cr&#233;er un quizz, j'en ai trouv&#233; sur le site, mais ce que je voudrais c'est un quizz qui quizz qui comtabilise les points et renvoi sur une page.... [ par jabry ] Bonjour Je debute en javascript et je souhaite r&#233;alisez un quizz qui comptabilise les points et renvoie sur une page en fonctions du nombre de po transition entre deux textures [ par aze555666 ] Bonjour.J'ai un site sur lequel je propose aux internautes de cr&#233;er des quizz, et ils peuvent choisir texture+couleur de police.Je voudrais maint rafraîchissement [ par domsig ] bonjour à tous et à toutescomme je débute en javascript, et que je n'ai pas trouvé sur ce site ma réponse, voilà ma question :j'ai une page de quizz, onLoad/onPageShow [ par domsig ] bonjour à tous je fais un site avec un peu de javascript pour faire un quizz (visible sur http://www.amis-marolles.org/index_quizz.htm) je fais un raf ALGORITHME DU VOYAGEUR DE COMMERCE [ par hajouraaa ] Salut tout le monde!J'aurai besoin de l'algorithme du voyageur de commerce en javascript (de préférence php)et je ne trouve rien sur net .. j'ai bien [=> javafr] algorithme [ par bkch ] salut chui nouvelle sur le site j ai besoin d un algo bellman ford et un autre dijkstra sur l echange des paquets entre routeurs en java le plus simpl Questionnaire QUIZZ pour site [ par scrat13 ] Bonjour à tous, Après plusieurs heures de "prise de tête" sur un projet de création d'un questionnaire en ligne, j'ai finalement conclu qu'il était t algoritmes séquentiels solution en javascript [ par Madonnina78 ] Bonjour je suis débutante en javascript et je n'arrive pas à résoudre un algorithme en javascript. Ecrire un algorithme qui, étant donné un temps éco


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,499 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales