Chinaunix首页 | 论坛 | 博客
  • 博客访问: 724132
  • 博文数量: 251
  • 博客积分: 10367
  • 博客等级: 上将
  • 技术积分: 2750
  • 用 户 组: 普通用户
  • 注册时间: 2007-05-10 14:43
文章分类

全部博文(251)

文章存档

2009年(2)

2008年(86)

2007年(163)

分类: C/C++

2007-11-01 22:40:16

一.   Javascript写的(在线小游戏)

源自:

   language="javascript">  

   

  var   fuhao=new   Array();   //用来存放运算符号  

   

  function   jisuan()  

  {  

  var   x,   y,   z,   i,   j,   k,   r,   f;//定义循环变量  

  var   number=new   Array();//用来存放用户输入的4个数字  

  var   fanhui;//接受函数的返回值   

  var   pan,   v1,   v2,   v3,   v4;//判断用户的输入  

   

  //运算符号初始化  

  fuhao[0]="+";  

  fuhao[1]="-";  

  fuhao[2]="*";  

  fuhao[3]="/";  

   

  //判断用户的输入是否为数字  

  v1=fuc(document.all.t0.value);  

  v2=fuc(document.all.t1.value);  

  v3=fuc(document.all.t2.value);  

  v4=fuc(document.all.t3.value);  

  pan=v1+v2+v3+v4;  

  if(pan!==4)  

  {  

  alert("请输入数字!");  

  return;  

  }  

  //用户输入的值初始化  

  for(r=0;r<4;r++)  

  {  

  number[r]=document.all('t'+r).value;  

  }  

   

  //运算符号的组合有4*4*4=64  

  for(i=0;i<4;i++)   {  

        for(j=0;j<4;j++)   {  

              for(k=0;k<4;k++)   {  

   

  //数字的组合有4!=24,构成4个数字的全排列  

  for(x=0;x<4;x++)   {  

   

  for(y=0;y<4;y++)   {  

   

  if(x==y)  

  {  

  continue;  

  }else{  

  for(z=0;z<4;z++)   {  

  if(z==x   ||   z==y)  

  {  

  continue  

  }else{  

  for(f=0;f<4;f++)   {  

   

  if(f==x   ||   f==y   ||   f==z)   {  

   

  continue  

  }else{  

   

  fanhui=sz(number[x],   number[y],   number[z],   number[f],   i,   j,   k);  

   

    if(fanhui==1)  

  {  

  return;  

  }  

  else  

  {  

  document.all.result.value="4个数字无解";  

  }  

   

  }  

              }  

        }  

  }  

                              }  

                          }  

                    }  

                }  

            }  

      }  

  }  

  function   sz(a,   b,   c,   d,   i,   j,   k)  

  {  

  var   shizi=new   Array();//存放表达式  

  var   s;  

  var   result;  

   

  //初始化组合表达式  

   

  shizi[0]=a+fuhao[i]+b+fuhao[j]+c+fuhao[k]+d; //表达式(1)     a?b?c?d  

  shizi[1]="("+a+fuhao[i]+b+")"+fuhao[j]+c+fuhao[k]+d; //表达式(2)     (a?b)?c?d  

  shizi[2]=a+fuhao[i]+"("+b+fuhao[j]+c+")"+fuhao[k]+d; //表达式(3)     a?(b?c)?d  

  shizi[3]=a+fuhao[i]+b+fuhao[j]+"("+c+fuhao[k]+d+")"; //表达式(4)     a?b?(c?d)  

  shizi[4]="(("+a+fuhao[i]+b+")"+fuhao[j]+c+")"+fuhao[k]+d; //表达式(5)     ((a?b)?c)?d  

  shizi[5]="("+a+fuhao[i]+"("+b+fuhao[j]+c+"))"+fuhao[k]+d; //表达式(6)     (a?(b?c))?d  

  shizi[6]=a+fuhao[i]+"(("+b+fuhao[j]+c+")"+fuhao[k]+d+")"; //表达式(7)     a?((b?c)?d)  

  shizi[7]=a+fuhao[i]+"("+b+fuhao[j]+"("+c+fuhao[k]+d+"))"; //表达式(8)     a?(b?(c?d))  

  shizi[8]="("+a+fuhao[i]+b+")"+fuhao[j]+"("+c+fuhao[k]+d+")"; //表达式(9)     (a?b)?(c?d)  

   

  //检测结果,如果为24,返回1  

  for(s=0;s<9;s++)  

  {  

  result=eval(shizi[s]);  

  if(result==24)  

  {  

  document.all.result.value=shizi[s]+"=24";  

  return   1;  

  }  

  }  

  }  

   

  function   fuc(n)//检测是否输入数字函数  

  {  

  var   text;  

  var   l;  

   

  text="0123456789"  

   

  if(n.length==0)  

  {  

  return   0;  

  }  

  for(l=0;l<=n.length;l++)  

  {  

  if(text.indexOf(n.charAt(l))!=-1)  

  {  

  return   1;  

  }  

  else  

  {  

  return   0;  

  }  

  }  

  }  

    

阅读(698) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~