找回密码
 注册

QQ登录

只需一步,快速开始

查看: 11224|回复: 53

“每日签到”如何得到高分的代码分析

 火... [复制链接]
发表于 2010-11-7 22:42:42 | 显示全部楼层 |阅读模式
本帖最后由 avatar 于 2010-11-7 23:35 编辑

本论坛用的每日签到程序是:DPS 每日签到 Ver 1.1 Final 版。
粗略分析积分奖励代码如下,我已经做了代码注释:
  1. //得到奖励积分的倍数(只对指定用户组积分加倍)
  2. $jlx = $var['jlx'];

  3. //得到随机奖励积分
  4. $credit = mt_rand($mincredit,$maxcredit);
  5. //判断是否是特定用户组,如果是,乘以积分倍数
  6.         if(in_array($groupid, $jlxgroups) && $jlx != '0') {
  7.                 $credit = $credit * $jlx;
  8.         }
  9. //得到连续签到的天数
  10.         $qiandaodb['lasted'] = $qiandaodb['lasted'] ? $qiandaodb['lasted'] : 0;

  11. //如果连续签到指数开关打开
  12.         if((86400 > ($tdtime - $qiandaodb['time'])) && $var['lastedop'] && $qiandaodb['lasted'] != '0'){
  13.                 //得到0~999之间的随机指数,假设为10
  14.                 $randlastednum = mt_rand($var[lastednuml],$var[lastednumh]);
  15.                 //补0得到 010
  16.                 $randlastednum = sprintf("%03d", $randlastednum);
  17.                 //得到小数:0.010
  18.                 $randlastednum = '0.'.$randlastednum;
  19.                 //架设已经连续签到100天,得到0.010×100=1
  20.                 $randlastednum = $randlastednum * $qiandaodb['lasted'];
  21.                 //积分=原有积分×2
  22.                 $credit = $credit*(1+$randlastednum);
  23.                 //四舍五入
  24.                 $credit = round($credit);
  25.         }
复制代码
以上代码说明:
1.管理员可以设置对特定用户组加倍奖励积分(我们一般不是特定用户组)。
2.管理员可以设置连续签到奖励积分开关并且设置奖励指数。
3.对于普通用户来说,最后得到的分数和以下几个参数有关:
  a.奖励积分基数,这个基数是随机的,看你运气。(管理员可以设置基数的范围,对每个人都一样,据观察本论坛积分基数范围应该为1~1,这个运气忽略。)
  b.连续签到奖励指数,这个也是随机的,看你运气。(管理员可以设置指数的范围,有上限,对每个人都一样,最大设置范围0~999)
  c.连续签到的天数。

结论:
本论坛的奖励积分基数影响基本可以忽略了,如果你连续签到的天数长(很重要,差别较大),同时你的运气不错,得到的连续签到指数高,这时候你会得到高分。
我在注释中假设的连续签到指数比较小,如果是这个数你随机得到的是500(管理员设置有上限),且你连续签到了60天,那么你得到1×(1+0.5×60)=31分。
发表于 2010-11-7 22:44:52 | 显示全部楼层
顶你,我就连续 签到好几天了,呵呵
发表于 2010-11-7 23:35:30 | 显示全部楼层
学习了.看来:
"做任何事就怕认真二字"
是对的
发表于 2010-11-7 23:42:30 | 显示全部楼层
“每日签到”如何得到高分的代码分析
发表于 2010-11-7 23:58:54 | 显示全部楼层
有意思,看看再说吧
发表于 2010-11-8 00:23:32 | 显示全部楼层
我看一下,我每次都是1
发表于 2010-11-8 01:02:03 | 显示全部楼层
这个好东西
发表于 2010-11-8 01:04:48 | 显示全部楼层
如何得到???????
发表于 2010-11-8 05:57:35 | 显示全部楼层
回复看看說明~
发表于 2010-11-8 08:26:47 | 显示全部楼层
不懂代码的路过
发表于 2010-11-8 08:34:47 | 显示全部楼层
看看原理~~
发表于 2010-11-8 09:01:45 | 显示全部楼层
看看原理~~
发表于 2010-11-8 09:02:44 | 显示全部楼层
回复才可以浏览
发表于 2010-11-8 09:03:52 | 显示全部楼层
每日签到”如何得到高分的代码分析
发表于 2010-11-8 09:20:31 | 显示全部楼层
我知道以前的。。。
发表于 2010-11-8 09:24:44 | 显示全部楼层
看看原理!!!!!!!!!
发表于 2010-11-8 09:26:59 | 显示全部楼层
顶你,我就连续 签到好几天了,呵呵
发表于 2010-11-8 09:34:28 | 显示全部楼层
有意思,看看再说吧
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|手机版|小黑屋|广告网 ( 鄂ICP备20005464号-17 )

GMT+8, 2024-5-2 11:36

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表