人品计算器算法

date:星期五, 十月 23rd, 2009 at 11:31 下午 Categories:game

人品计算器
一个十分老套的娱乐FLASH
权权在群里又发了

姓名:朱钟权
人品得分:99
评价:你是世人的榜样!

我哥真背啊
1分。
我见过的最低分

姓名:吴少群
人品得分:1
评价:算了,跟你没什么人品好谈的…

我也好不到哪去啊
姓名:钱礼骏
人品得分:68
评价:你的人品勉勉强强..要自己好自为之..
哈这都可以
姓名:午夜yingou
人品得分:99
评价:你是世人的榜样!
为了扭转趋势
来看看到底是怎么计算的

参考下FLASH 的脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
function nameResult(str)
{
    var _loc1 = checkPreList(str);
    if (_loc1 == null)
    {
        _loc1 = getResult(str);
    } // end if
    var _loc2 = "姓名:" + str + "\n";
    _loc2 = _loc2 + ("人品得分:" + foramtResult(_loc1) + "\n");
    _loc2 = _loc2 + ("评价:" + getValue(_loc1));
    return (_loc2);
} // End of the function
function foramtResult(n)
{
    return (n >= 0 && n <= 100 ? (n) : ("负溢出")); } // End of the function function getValue(n) {     var _loc2 = "";     if (n == 0)     {         _loc2 = "你一定不是人吧?怎么一点人品都没有?!";     }     else if (n > 0 && n <= 5)     {         _loc2 = "算了,跟你没什么人品好谈的...";     }     else if (n > 5 && n <= 10)     {         _loc2 = "是我不好...不应该跟你谈人品问题的...";     }     else if (n > 10 && n <= 15)     {         _loc2 = "杀过人没有?放过火没有?你应该无恶不做吧?";     }     else if (n > 15 && n <= 20)     {         _loc2 = "你貌似应该三岁就偷看隔壁大妈洗澡的吧...";     }     else if (n > 20 && n <= 25)     {         _loc2 = "你的人品之低下实在让人惊讶啊...";     }     else if (n > 25 && n <= 30)     {         _loc2 = "你的人品太差了。你应该有干坏事的嗜好吧?";     }     else if (n > 30 && n <= 35)     {         _loc2 = "你的人品真差!肯定经常做偷鸡摸狗的事...";     }     else if (n > 35 && n <= 40)     {         _loc2 = "你拥有如此差的人品请经常祈求佛祖保佑你吧...";     }     else if (n > 40 && n <= 45)     {         _loc2 = "老实交待..那些论坛上面经常出现的偷拍照是不是你的杰作?";     }     else if (n > 45 && n <= 50)     {         _loc2 = "你随地大小便之类的事没少干吧?";     }     else if (n > 50 && n <= 55)     {         _loc2 = "你的人品太差了..稍不小心就会去干坏事了吧?";     }     else if (n > 55 && n <= 60)     {         _loc2 = "你的人品很差了..要时刻克制住做坏事的冲动哦..";     }     else if (n > 60 && n <= 65)     {         _loc2 = "你的人品比较差了..要好好的约束自己啊..";     }     else if (n > 65 && n <= 70)     {         _loc2 = "你的人品勉勉强强..要自己好自为之..";     }     else if (n > 70 && n <= 75)     {         _loc2 = "有你这样的人品算是不错了..";     }     else if (n > 75 && n <= 80)     {         _loc2 = "你有较好的人品..继续保持..";     }     else if (n > 80 && n <= 85)     {         _loc2 = "你的人品不错..应该一表人才吧?";     }     else if (n > 85 && n <= 90)     {         _loc2 = "你的人品真好..做好事应该是你的爱好吧..";     }     else if (n > 90 && n <= 95)     {         _loc2 = "你的人品太好了..你就是当代活雷锋啊...";     }     else if (n > 95 && n <= 99)
    {
        _loc2 = "你是世人的榜样!";
    }
    else if (n == 100)
    {
        _loc2 = "天啦!你不是人!你是神!!!";
    }
    else
    {
        _loc2 = "你的人品竟然负溢出了...我对你无语..";
    } // end else if
    return (_loc2);
} // End of the function
function getResult(str)
{
    var _loc3 = 0;
    for (var _loc1 = 0; _loc1 < str.length; ++_loc1)
    {
        _loc3 = _loc3 + str.charCodeAt(_loc1);
    } // end of for
    return (_loc3 % 100);
} // End of the function
function checkPreList(str)
{
    var _loc1 = null;
    for (var _loc3 in PrenameList)
    {
        if (PrenameList[_loc3][0] == str)
        {
            _loc1 = PrenameList[_loc3][1];
            break;
        } // end if
    } // end of for...in
    return (_loc1);
} // End of the function
PrenameList = new Array();
PrenameList.push(["日本人", -1]);
PrenameList.push(["小日本", -1]);
PrenameList.push(["日本", -1]);
PrenameList.push(["日本鬼子", -1]);
getURL("FSCommand:showmenu", false);
inputName.maxChars = 20;
resultArea.text = "请输入要计算的名字 然后点击计算按钮\n本程序内容纯属构 仅供娱乐之用\n如有雷同 纯属巧合\n----------by cordy";
okBtAction = new Object();
okBtAction.click = function ()
{
    var _loc1 = inputName.text;
    _loc1 = _loc1.split(" ").join("");
    _loc1 = _loc1.split(" ").join("");
    _loc1 = _loc1.split("\t").join("");
    inputName.text = _loc1;
    if (_loc1 == "")
    {
        resultArea.text = "请先输入要计算的名字";
    }
    else
    {
        resultArea.text = nameResult(_loc1);
    } // end else if
};
okBt.addEventListener("click", okBtAction);

这个算发
遍历你输入的每个字符,然后求和之后再和100求余数
用PHP来验证结果




分别转换成是UNICODE
然后相加
然后计算余数
PHP:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
 echo "<br/>". mod(getUnicodeFromOneUTF8("钱"));
 echo "<br/>". mod(getUnicodeFromOneUTF8("钱")+getUnicodeFromOneUTF8("礼")+getUnicodeFromOneUTF8("骏"));
function mod($num)
{
return $num %100;
} 
 
function getUnicodeFromOneUTF8($word) {   
  if (is_array( $word))   
    $arr = $word;   
  else     
    $arr = str_split($word);    
  $bin_str = '';   
  foreach ($arr as $value)   
    $bin_str .= decbin(ord($value));   
  $bin_str = preg_replace('/^.{4}(.{4}).{2}(.{6}).{2}(.{6})$/','$1$2$3', $bin_str);   
  return bindec($bin_str); //返回类似20320, 汉字"你"   
}  
?>

最后的结果为
65
68

钱=65
钱礼骏=68
人品计算器的结果相同

姓名:钱
人品得分:65
评价:你的人品比较差了..要好好的约束自己啊..
姓名:钱礼骏
人品得分:68
评价:你的人品勉勉强强..要自己好自为之..
因为是余数
所以结果只能是 00-99

9 Responses to “人品计算器算法”

  1. 张坤No Gravatar

    123456

    [Reply]

  2. 钟林No Gravatar

    任天堂

    [Reply]

  3. 李小燕No Gravatar

    lixiaoyan

    [Reply]

  4. 耿亚勤No Gravatar

    cfas

    [Reply]

  5. 王艳敏No Gravatar

    我很好

    [Reply]

  6. 夏川No Gravatar

    按时的撒旦

    [Reply]

  7. 王晓No Gravatar

    【哦ijio

    [Reply]

  8. 张丽No Gravatar

    超线程

    [Reply]

  9. 杨薛妍No Gravatar

    [Reply]

Leave a Reply