Le compte est bon

Soyez le premier à donner votre avis sur cette source.

Snippet vu 5 155 fois - Téléchargée 17 fois

Contenu du snippet

Jeu "Le compte est bon" en javascript.................................................................................................................

Source / Exemple :


<html><head><title>Des chiffres</title>
<script language="JavaScript">
<!--

function n7()
{
 hasard=Math.random()*898;
 hasard=parseInt(Math.round(hasard));
 return hasard;
}

function n1()
{
 hasard=Math.random()*13;
 hasard=parseInt(Math.round(hasard));
 return hasard;
}

function Debut()
{
 document.liste.D1.selectedIndex=n1();
 document.liste.D2.selectedIndex=n1();
 document.liste.D3.selectedIndex=n1();
 document.liste.D4.selectedIndex=n1();
 document.liste.D5.selectedIndex=n1();
 document.liste.D6.selectedIndex=n1();
 document.liste.D7.selectedIndex=n7();
 document.liste.T1.value="";
}

var x,k,r,z,ss1,ss2,ss3;
var mi=new Array(5);
var mj=new Array(5);
var mop=new Array(5);
var si=new Array(5);
var sj=new Array(5);
var sop=new Array(5);

function sauve()
{
 if(r>x)k=r-x;else k=x-r; 
 if(k<ss2){ss1=5;ss2=k;ss3=r;}
 if((k==ss2)&&(ss1>z))
 {
  si[0]=mi[0];sj[0]=mj[0];sop[0]=mop[0];
  si[1]=mi[1];sj[1]=mj[1];sop[1]=mop[1];
  si[2]=mi[2];sj[2]=mj[2];sop[2]=mop[2];
  si[3]=mi[3];sj[3]=mj[3];sop[3]=mop[3];
  si[4]=mi[4];sj[4]=mj[4];sop[4]=mop[4];
  ss1=z;
 }
}

function add(i,j)
{
// if(j>0)//(i<2147483648)
 {
  r=i+j;mi[z]=i;mj[z]=j;mop[z]='+';sauve();return -1;
 }
 return 0;
}

function sub(i,j)
{
 if(i!=j)
 {
  r=i-j;if(r!=j){mop[z]='-';mi[z]=i;mj[z]=j;sauve();return -1;}
 }
 return 0;
}

function mul(i,j)
{
 if((i<65536)&&(j>1))
 {
  r=i*j;mop[z]='×';mi[z]=i;mj[z]=j;sauve();return -1;
 }
 return 0;
}

function div(i,j)
{
 if(j>1)
 {
  r=parseInt(i/j);
  if((r*j==i)&&(r!=j)){mop[z]=':';mi[z]=i;mj[z]=j;sauve();return -1;}
 }
 return 0;
}

function suite4(a,b)
{
 z=4;
 if(a<b){k=a;a=b;b=k;}
 add(a,b);
 sub(a,b);
 mul(a,b);
 div(a,b);
 z=3;
}

function lasuite4(a,b,c)
{
 if(add(a,b))suite4(r,c);
 if(sub(a,b))suite4(r,c);
 if(mul(a,b))suite4(r,c);
 if(div(a,b))suite4(r,c);
}

function suite3(a,b,c)
{
 z=3;
 if(a<b){k=a;a=b;b=k;}
 if(a<c){k=a;a=c;c=k;}
 lasuite4(a,b,c);
 if(c!=b)lasuite4(a,c,b);
 if(b!=a)lasuite4(b,c,a);
 z=2;
}

function lasuite3(a,b,c,d)
{
 if(add(a,b))suite3(r,c,d);
 if(sub(a,b))suite3(r,c,d);
 if(mul(a,b))suite3(r,c,d);
 if(div(a,b))suite3(r,c,d);
}

function suite2(a,b,c,d)
{
 z=2;
 if(a<b){k=a;a=b;b=k;}
 if(a<c){k=a;a=c;c=k;}
 if(a<d){k=a;a=d;d=k;}
 lasuite3(a,b,c,d);
 if(c!=b)lasuite3(a,c,b,d);
 if((d!=b)&&(d!=c))lasuite3(a,d,b,c);
 if(b!=a)
 {
  lasuite3(b,c,a,d);
  if(d!=c)lasuite3(b,d,a,c);
 }
 if((c!=a)&&(c!=b))lasuite3(c,d,a,b);
 z=1;
}

function lasuite2(a,b,c,d,e)
{
 if(add(a,b))suite2(r,c,d,e);
 if(sub(a,b))suite2(r,c,d,e);
 if(mul(a,b))suite2(r,c,d,e);
 if(div(a,b))suite2(r,c,d,e);
}

function suite1(a,b,c,d,e)
{
 z=1;
 if(a<b){k=a;a=b;b=k;}
 if(a<c){k=a;a=c;c=k;}
 if(a<d){k=a;a=d;d=k;}
 if(a<e){k=a;a=e;e=k;}
 lasuite2(a,b,c,d,e);
 if(c!=b)lasuite2(a,c,b,d,e);
 if((d!=b)&&(d!=c))lasuite2(a,d,b,c,e);
 if((e!=b)&&(e!=c)&&(e!=d))lasuite2(a,e,b,c,d);
 if(b!=a)
 {
  lasuite2(b,c,a,d,e);
  if(d!=c)lasuite2(b,d,a,c,e);
  if((e!=c)&&(e!=d))lasuite2(b,e,a,c,d);
 }
 if((c!=a)&&(c!=b))
 {
  lasuite2(c,d,a,b,e);
  if(e!=d)lasuite2(c,e,a,b,d);
 }
 if((d!=a)&&(d!=b)&&(d!=c))lasuite2(d,e,a,b,c);
 z=0;
}

function lasuite1(a,b,c,d,e,f)
{
 if(add(a,b))suite1(r,c,d,e,f);
 if(sub(a,b))suite1(r,c,d,e,f);
 if(mul(a,b))suite1(r,c,d,e,f);
 if(div(a,b))suite1(r,c,d,e,f);
}

function suite0(a,b,c,d,e,f)
{
 z=0;
 if(a<b){k=a;a=b;b=k;}
 if(a<c){k=a;a=c;c=k;}
 if(a<d){k=a;a=d;d=k;}
 if(a<e){k=a;a=e;e=k;}
 if(a<f){k=a;a=f;f=k;}
 if(b<c){k=b;b=c;c=k;}
 if(b<d){k=b;b=d;d=k;}
 if(b<e){k=b;b=e;e=k;}
 if(b<f){k=b;b=f;f=k;}
 if(c<d){k=c;c=d;d=k;}
 if(c<e){k=c;c=e;e=k;}
 if(c<f){k=c;c=f;f=k;}
 if(d<e){k=d;d=e;e=k;}
 if(d<f){k=d;d=f;f=k;}
 if(e<f){k=e;e=f;f=k;}
 lasuite1(a,b,c,d,e,f);
 if(c!=b)lasuite1(a,c,b,d,e,f);
 if((d!=b)&&(d!=c))lasuite1(a,d,b,c,e,f);
 if((e!=b)&&(e!=c)&&(e!=d))lasuite1(a,e,b,c,d,f);
 if((f!=b)&&(f!=c)&&(f!=d)&&(f!=e))lasuite1(a,f,b,c,d,e);
 if(b!=a)
 {
  lasuite1(b,c,a,d,e,f);
  if(d!=c)lasuite1(b,d,a,c,e,f);
  if((e!=c)&&(e!=d))lasuite1(b,e,a,c,d,f);
  if((f!=c)&&(f!=d)&&(f!=e))lasuite1(b,f,a,c,d,e);
 }
 if((c!=a)&&(c!=b))
 {
  lasuite1(c,d,a,b,e,f);
  if(e!=d)lasuite1(c,e,a,b,d,f);
  if((f!=d)&&(f!=e))lasuite1(c,f,a,b,d,e);
 }
 if((d!=a)&&(d!=b)&&(d!=c)){
 lasuite1(d,e,a,b,c,f);
 if(f!=e)lasuite1(d,f,a,b,c,e);
 }
 if((e!=a)&&(e!=b)&&(e!=c)&&(e!=d))lasuite1(e,f,a,b,c,d);
}

function LeCalcul(a,b,c,d,e,f,y)
{
 ss2=2147483647;
 a=parseInt(a+1);if(a>10)a=(a-10)*25;
 b=parseInt(b+1);if(b>10)b=(b-10)*25;
 c=parseInt(c+1);if(c>10)c=(c-10)*25;
 d=parseInt(d+1);if(d>10)d=(d-10)*25;
 e=parseInt(e+1);if(e>10)e=(e-10)*25;
 f=parseInt(f+1);if(f>10)f=(f-10)*25;
 x=parseInt(y);x+=101;
 suite0(a,b,c,d,e,f);
 if(ss3==x)kk=x+" trouvé :\n\n";else kk=ss3+" trouvé à "+ss2+" près de "+x+" :\n\n";
 for(n=0;n<=ss1;n++)
 {
  switch(sop[n])
  {
	case '+':r=si[n]+sj[n];break;
	case '-':r=si[n]-sj[n];break;
	case ':':r=si[n]/sj[n];break;
	default:r=si[n]*sj[n];break;
  }
  kk=kk+si[n]+" "+sop[n]+" "+sj[n]+" = "+r+"\n";
 }
// alert(kk);
 document.liste.T1.value=kk;
}

//-->
</script>
</head>
<body onload="JavaScript:Debut();">
  <center><form name="liste">
  <p>&nbsp;</p><p><select size="1" name="D1">
<option>1</option><option>2</option><option>3</option><option>4</option><option>5</option>
<option>6</option><option>7</option><option>8</option><option>9</option><option>10</option>
<option>25</option><option>50</option><option>75</option><option>100</option></select>
  <select size="1" name="D2">
<option>1</option><option>2</option><option>3</option><option>4</option><option>5</option>
<option>6</option><option>7</option><option>8</option><option>9</option><option>10</option>
<option>25</option><option>50</option><option>75</option><option>100</option></select>
  <select size="1" name="D3">
<option>1</option><option>2</option><option>3</option><option>4</option><option>5</option>
<option>6</option><option>7</option><option>8</option><option>9</option><option>10</option>
<option>25</option><option>50</option><option>75</option><option>100</option></select>
  <select size="1" name="D4">
<option>1</option><option>2</option><option>3</option><option>4</option><option>5</option>
<option>6</option><option>7</option><option>8</option><option>9</option><option>10</option>
<option>25</option><option>50</option><option>75</option><option>100</option></select>
  <select size="1" name="D5">
<option>1</option><option>2</option><option>3</option><option>4</option><option>5</option>
<option>6</option><option>7</option><option>8</option><option>9</option><option>10</option>
<option>25</option><option>50</option><option>75</option><option>100</option></select>
  <select size="1" name="D6">
<option>1</option><option>2</option><option>3</option><option>4</option><option>5</option>
<option>6</option><option>7</option><option>8</option><option>9</option><option>10</option>
<option>25</option><option>50</option><option>75</option><option>100</option></select>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  <select size="1" name="D7">
<script><!--
for(var n=101;n<1000;n++)document.write("<option>"+n+"</option>");
//--></script>
</select></p>
 <p><input type="button" value="Chercher" name="B1" title="Approcher le résultat au plus près" onclick="JavaScript:LeCalcul(
  document.liste.D1.selectedIndex,
  document.liste.D2.selectedIndex,
  document.liste.D3.selectedIndex,
  document.liste.D4.selectedIndex,
  document.liste.D5.selectedIndex,
  document.liste.D6.selectedIndex,
  document.liste.D7.selectedIndex);" />&nbsp;
  <input type="button" value="Hasard" name="B2" title="Tire les nombres au hasard" onclick="JavaScript:Debut();" /></p>
 <p><TEXTAREA NAME="T1" COLS=45 ROWS=8 WRAP=physical style="text-align: center"></TEXTAREA></p>
  </form></center>
</body>
</html>

A voir également

Ajouter un commentaire

Commentaire

jmeunier
Messages postés
86
Date d'inscription
mardi 10 septembre 2002
Statut
Membre
Dernière intervention
17 mai 2013
-
J'ai beau analyser le code, je n'arrive pas à comprendre comment fonctionne ce script.
Ce que je constate, c'est qu'il trouve la solution exacte dans la plupart des cas.

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.