已知两人姓名,测定两人缘分的算法

来源:互联网 发布:mysql 10060错误 编辑:程序博客网 时间:2024/05/02 04:47
1 测定两人缘分,我可以通过两个人的姓名,计算一个100以内的数值,作为缘分指数,并通过该数值确定缘分心语。
2 该算法结果需不带有随机性。
3 定义最高指数为100,两人姓名相同获得。(或者加入其它的想法)
4 为了使游戏具有一定的可玩性和不使人过分沮丧,保证缘分指数在60~100之间,如此,可按一定的等差划分缘分心语。例如60-70为一段,70-80为一段等等。
----------------未加修饰的源码,仅作记忆-------
<script language="JavaScript">
<!--
    function check()// 判断用户输入格式
    {
        if(mainform.name1.value=="")
        {
            document.getElementById("name1text").innerHTML="<font color='blue'>男生姓名为空</font>"; 
            mainform.name1.focus();
            return false;
        }
            if(mainform.name2.value=="")
        {
            document.getElementById("name2text").innerHTML="<font color='blue'>女生姓名为空</font>"; 
            mainform.name2.focus();
            return false;
        }
         return true;
    }
//-->
</script>
<?php
 if(isset($_GET['act']) and $_GET['act']=='sub')
 {
 //获取表单数据
 $n1=$_POST['name1'];
 $n2=$_POST['name2'];
 $zhishu=zhishu($n1,$n2);
 echo "<script language='javascript'>alert('".$n1."和".$n2."的缘分指数是".$zhishu."')</script>";
 }
 
 function zhishu($n1,$n2)
 {
       $n1=jiequ($n1);
      $n2=jiequ($n2);
      $n1=abs($n1-$n2);//取绝对值,保证a+b和b+a求的缘分指数相同
//以下是指数修正算法,随意写的,可以有其他算法
      if($n1<60 and $n1>=50)
     {
          return ($n1*1.5);
      }
      elseif ($n1<50 and $n1>=40) {
           return ($n1*1.8);
      }
      elseif ($n1<40 and $n1>=0) {
             return (100-$n1);
      }
      else {
          return $n1;
      }      
 } // end func




function jiequ($s)//此函数功能是获取名字对应的MD5中最先出现的两个数字组成的数字
{
       $s=md5($s);
       $k="";
      for ($i=0;$i<32 ;$i++ ) {
           $r = substr($s,$i,1);
           if (is_numeric($r)) {
            $k .=$r;
      }
      }
     return substr($k,0,2);


} // end func
  
?>
 <form  action="./yuanfen.php?act=sub" name="mainform" onsubmit="return check();" method="post">
 姓名A<input type="text" name="name1"><label id="name1text" name="name1text"></label><br>
 姓名B<input type="text" name="name2"><span id="name2text"></span><br>
 <input type="submit" value="查看" name="sub">&nbsp;&nbsp;<input type="reset" value="重置">
 </form>
原创粉丝点击