已知两人姓名,测定两人缘分的算法
来源:互联网 发布: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"> <input type="reset" value="重置">
</form>
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"> <input type="reset" value="重置">
</form>
- 已知两人姓名,测定两人缘分的算法
- 运动轨迹图表算法-已知两圆通过极坐标转换求两圆切线的公式-用于求两物体运动轨迹
- DSP OMAP 程序耗时测定 CPU周期 两种方法
- 已知两种二叉树的遍历,求第三种
- 已知二叉树的两种遍历序列重建树
- 已知两线段的四点坐标,如何判断两线段是否相交的思路
- 算法复杂度的差分方程推导3(两种一般情况的兼容)
- 两种最大公约数的算法
- 求凸包的两种算法
- LCA 的两种算法
- 已知6点,求两平面夹角
- 透视投影中已知两平面的单应矩阵,能否求出这两平面的夹角?
- 判断两条线段相交的两种算法
- 已知两个1~30之间的数字,甲知道两数之和,乙知道两数之积。 。。。。。
- 数据库产品分两大类
- 数据库产品分两大类
- 两点确定一条直线,已知四个点确定的两条直线,求这两条直线的交点
- 两台计算机实现通讯的基本原理0分
- C++读书笔记之 文件与流 文件读写操作 通过指针获取文件大小
- ExtJS Button的事件和方法定义
- 一个平台的思考
- (iPhone/iPad开发)设置UITextView为不可编辑状态
- Android 自定义应用permission 权限给其他应用方式
- 已知两人姓名,测定两人缘分的算法
- 聚福园二期施工招标公告
- CSS、JavaScript开发者必备的10款最佳工具
- 关于Dataguard Online redo log 和 Standby redo log
- 黑马韩前成linux从入门到精通proftpd服务器配置
- 图解Window下Telnet与远程桌面登陆工具使用
- Jquery 仿淘宝京东多条件筛选 可自行结合ajax加载
- 关于AndroidRuntime: FATAL EXCEPTION: GLThread 10 java.lang.IllegalArgumentException问题
- SimpleAdapter