人品计算器算法
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

2009.12.04 2:33 下午
123456
[Reply]
2009.12.29 12:04 上午
任天堂
[Reply]
2010.01.25 10:25 下午
lixiaoyan
[Reply]
2010.03.17 11:52 上午
cfas
[Reply]
2010.05.18 5:07 下午
我很好
[Reply]
2010.08.20 12:10 下午
按时的撒旦
[Reply]
2010.08.20 3:56 下午
【哦ijio
[Reply]
2011.01.01 12:19 上午
超线程
[Reply]
2011.03.16 8:07 下午
无
[Reply]