猜数字游戏

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
 <head>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  <title>Insert title here</title>
 </head>
 <script type="text/javascript">
    var num = new Array(4);
    var num1_y;
    var num1;
    var num2_y;
    var num2;
    var num3_y;
    var num3;
    var num4_y;
    var num4;
   
   function start(){ 
    for(i = 0;i<num.length;i++){  
      temp = rondomgame();
      if(temp == 10){
       temp = rondomgame();
       i--;
       continue; 
      }
      for(j = 0;j<i;j++){
       if(temp == num[j]||temp == 10){
        temp = rondomgame();
        j = -1;
        continue;
       }
      }
      num[i]=temp;
    }
   }
   function rondomgame(){
    return Math.ceil(Math.random()*10);    //Math.random()生成随机数(1>num>=0)  Math.ceil(num);大于

num的最小整数
   }
   
   function up(obj){
    //弹上来的时候   
    switch(obj.name){
     case "num1":
      num1 = obj.value;
      checknum(obj,num1,num1_y);
      break;
     case "num2":
       num2 = obj.value;
      checknum(obj,num2,num2_y);
      break;
     case "num3":
       num3 = obj.value;
      checknum(obj,num3,num3_y);
      break;
     case "num4":
      num4 = obj.value;
       checknum(obj,num4,num4_y);
      break;
    }
    
    if(!checkexist(obj.name,obj.value)){
     obj.value = "";
    }
   }
   
   //检查text
   function checknum(obj,num_n,num_y){
    if(isNaN(num_n)){
      if(isNaN(num_y)){
        obj.value = "";
       }else{
        if(num_y.length>1){
         obj.value = "";
        }else{
          obj.value = num_y;
        }
       }
    }else{
     if(num_n.length>1){
      if(num_y.length>1){
        obj.value = "";
      }else{
        obj.value = num_y;
      }
     }
    }
   }
   
   //判断是否已经存在该数据了
   function checkexist(name,value){
    var arry = new Array(3);
    switch(name){
     case "num1":
      arry[0]="num2";
      arry[1]="num3";
      arry[2]="num4";
       return checkvalue(arry,value);   
       break;
     case "num2":
       arry[0]="num1";
      arry[1]="num3";
      arry[2]="num4";
       return checkvalue(arry,value); 
      break;
     case "num3":
       arry[0]="num2";
      arry[1]="num1";
      arry[2]="num4";
       return checkvalue(arry,value); 
      break;
     case "num4":
       arry[0]="num2";
      arry[1]="num3";
      arry[2]="num1";
       return checkvalue(arry,value); 
       break;
    }
   }
   function checkvalue(arry,value){
    for(i = 0;i<arry.length;i++){
     if(!checkvalueok(arry[i],value)){
       return false;
     }
    }
    return true;
   }
   
   function checkvalueok(name,value){
     if(trim(document.getElementById(name).value)==trim(value)){
       return false;
     }else{
       return true;
     }
   }
   
   //去掉空格
   function trim(str)
 {
   var result;
   result = str.replace(/(^/s+)|(/s+$)/g,"");
   return result;
 }
   
   function down(obj){
    //按下去的时候    
    switch(obj.name){
     case "num1":
      num1_y = obj.value;
      break;
     case "num2":
      num2_y = obj.value;
      break;
     case "num3":
      num3_y = obj.value;
      break;
     case "num4":
      num4_y = obj.value;
      break;
    }
   }
   
   function isempty(name){
     var value = trim(document.getElementById(name).value);
     if(value==""|value=="undefined"|value==null){
       return false;
     }else{
       return true;
     }
   }
   
   function end(){
    var array = new Array(4);
    array[0]="num1";
    array[1]="num2";
    array[2]="num3";
    array[3]="num4";
    for(i=0;i<array.length;i++){
     if(!isempty(array[i])){
      return;
     }
    }
    var value = new Array(4);
    for(i=0;i<array.length;i++){
     value[i]=trim(document.getElementById(array[i]).value);
    }
    var count=0 ;
    var okcount = 0;
    for(i=0;i<array.length;i++){
     for(j=0;j<value.length;j++){
      if(num[i]==value[j]){
       count++;
      }
     }
    }
    
    for(i=0;i<array.length;i++){     
     if(num[i]==value[i]){
      okcount++;
     }
    }
    alert(num+"--"+value+"==="+count+"''''"+okcount); 
    if(okcount==4){
     alert("恭喜您猜对了");
    }else{
     var array = new Array(4);
     array[0]="num1";
     array[1]="num2";
     array[2]="num3";
     array[3]="num4";
     insertempty(array);
     addRow(value,okcount+"A"+(count-okcount)+"B");
    }
    
   }
   function insertempty(array){
    for(i=0;i<array.length;i++){
     document.getElementById(array[i]).value="";
    }
   }
   

//为table动态添加行
   
function addRow(value,result){
        var table1 = document.getElementById("result");
  var tr1 = document.createElement("tr");
  var array = new Array(2);
  array[0]=value;
  array[1]=result;
  for(var j=0;j<2; j++)
  {
   var td1 = document.createElement("td");
   var tn = document.createTextNode(array[j]);
   td1.appendChild(tn);
   tr1.appendChild(td1);
  }
  table1.childNodes[1].appendChild(tr1);
   }
 
   
   
  </script>
 <body>
  <form>
   <input type="button" value="猜数字游戏开始" οnclick="start();">
   <hr>
   请输入4个数字:
   <input type="text" value="" id="num1" name="num1" size="1"
    onkeyup="up(this);" onkeydown="down(this);">
   <input type="text" value="" id="num2" name="num2" size="1"
    οnkeyup="up(this);" οnkeydοwn="down(this);">
   <input type="text" value="" id="num3" name="num3" size="1"
    οnkeyup="up(this);" οnkeydοwn="down(this);">
   <input type="text" value="" id="num4" name="num4" size="1"
    οnkeyup="up(this);" οnkeydοwn="down(this);">
   <input type="button" value="确认" οnclick="end();" >
  </form>
  <hr>
  <table border="1" id="result">
   <tr>
    <td>您猜的数字</td><td>  结果  </td>
   </tr>
   
  </table>
 </body>
</html>

 

生成随机数,取随即数的整数,动态添加表格的行,去掉js字符串的空格

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值