活跃天数计算用户等级模仿QQ的升级方式
QQ等级的算法:设当前等级为N,达到当前等级最少需要的活跃天数为D,当前活跃天数为Dc,升级剩余天数为Dr,则:
从而推出:
好了,引述完成,懒得写字了,贴出代码:
复制内容到剪贴板
代码:
<?php
/**
*
*QQ等级输出类库
* author毛毛虫<wangchong1985 gmail.com>
* version 1.0 2008-04-09
*
*/
class showRank{
/**
*第一级图片显示字段
*/
public$mImage1;
/**
*第二级图片显示字段
*/
public$mImage2;
/**
*第三级图片显示字段
*/
public$mImage3;
/**
*构造函数:传入图片值
* return无
*/
function __construct($pImage1='★',$pImage2='▲',$pImage3='●'){
$this->mImage1=$pImage1;
$this->mImage2=$pImage2;
$this->mImage3=$pImage3;
}
/**
*根据活跃天数计算用户等级。(模仿QQ的升级方式)
* return int
* access public
*/
function get_rank($pScore){
$temp=$pScore+4;
$tRank=sqrt($temp)-2;
$tRank=floor($tRank);
return$tRank;
}
/**
*用户等级标志,根据用户等级显示用户标志
*仿照QQ等级的四进制显示
* return str
* access public
*/
function get_score($pScore){
$str='';
$tRank=$this->get_rank($pScore);//根据分数取得等级
$tPicNum=base_convert($tRank,10,4);//转化为四进制
$tPicNum=strrev($tPicNum);//翻转字符串
$tArray=str_split($tPicNum);//转化为数组
$tNum=count($tArray);
if($tNum<=3){
for($i=$tNum-1;$i>=0;$i--){
switch($i){
case'0':
for($j=0;$j<$tArray[$i];$j++){
$str.=$this->mImage1;
}
break;
case'1':
for($j=0;$j<$tArray[$i];$j++){
$str.=$this->mImage2;
}
break;
case'2881064151':
for($j=0;$j<$tArray[$i];$j++){
$str.=$this->mImage3;
}
break;
default:
//$str=;
break;
}
}
}else{
$str=$this->mImage3.$this->mImage3.$this->mImage3.$this->mImage3;
}
return$str;
}
}
?>
以上就是显示类,再来个简单的调用实例:
复制内容到剪贴板
代码:
<?php
require_once('showRank.php');
//定义等级图片
$tImage1='<img src="data:images/time_star.gif">';
$tImage2='<img src="data:images/time_yueliang.gif">';
$tImage3='<img src="data:images/time_sun.gif">';
//实例化并传输等级图片
$tShow=new showRank($tImage1,$tImage2,$tImage3);
//输入的活跃天数
$tScore=1009;
$echo=$tShow->get_score($tScore);
//输出显示效果
print'<div align=center>'.$echo.'</div>';
?>
活跃天数计算用户等级模仿QQ的升级方式的更多相关文章
- 数据分析体系 — 用户粘性的两个计算指标(DAU/MAU和月人均活跃天数)
很多运营都了解DAU(日活跃用户数)和MAU(月活跃用户数)的重要性,但在某些情况下这两个数值本身并不能反映出太多问题,这个时候就要引用到[DAU/MAU]的概念,即[日活/月活] 用户粘性的两个计算 ...
- QQ等级图标排名说明_QQ等级表,QQ最高等级(皇冠) qq到一星要5天
从2007年11月29日中午12:00开始,在不改变原有计算方式的情况下,加速QQ会员等级升级.QQ会员用户在原有通过每天在线2小时累积活跃天数来获取相应QQ等级增长的基础上,还可以根据QQ会员VIP ...
- iOS之基于FreeStreamer的简单音乐播放器(模仿QQ音乐)
代码地址如下:http://www.demodashi.com/demo/11944.html 天道酬勤 前言 作为一名iOS开发者,每当使用APP的时候,总难免会情不自禁的去想想,这个怎么做的?该怎 ...
- 模仿QQ气泡聊天
尝试了几种方案,想模仿QQ的气泡聊天,总是不尽如意.网上倒是大把的Android和Html的例子,Delphi的没找着,只能自己试着折腾. 1. 用WebBrowser加载本地html,屡次折腾,失败 ...
- Qt 之 模仿 QQ登陆界面——样式篇
一.简述 今天晚上花了半天时间从QQ登录界面抠了些图,顺便加了点样式基本上实现了QQ的登陆界面全部效果.虽不说100%相似,那也有99.99%相似了哈O(∩_∩)O. QQ好像从去年开始,登录界面有了 ...
- 模仿QQ空间 网页设计
目的:1.通过模仿QQ空间,全自主写代码,熟悉网页设计的流程 2.熟练的掌握HTML.CSS.JS的应用 3.将在此过程中遇到的问题及其解决方法记录在此,以便取用. 开始: 一.登陆界面(index. ...
- Android 模仿QQ空间风格的 UI(转)
本文内容 环境 演示模仿QQ空间风格的UI 虽然这个 UI 跟现在的QQ空间有点差别,但是也能学到很多东西. 下载 Demo 环境 Windows 7 64 位 Eclipse ADT V22.6.2 ...
- ac命令根据/var/log/wtmp文件登录退出时间计算用户连接时间
ac命令根据/var/log/wtmp文件登录退出时间计算用户连接时间
- 模仿QQ截图片
原文:模仿QQ截图片 两个picturebox,一个放图片 完整代码如下 using System; using System.Collections.Generic; using System.Co ...
随机推荐
- codeforces A. New Year Candles 解题报告
题目链接:http://codeforces.com/problemset/problem/379/A 题目意思:给定a支蜡烛(每支蜡烛可以燃烧1小时),可以在燃尽的a支蜡烛中看能组成多少组b支蜡烛, ...
- JavaEE填空与判断
Java EE软件工程师认证考试 试题库- 填空题和选择题 一. 填空题 1. HTML网页文件的标记是__html__,网页文件的主体标记是_body__,标记页面标题的标记是__tit ...
- github优秀开源项目大全-iOS
github优秀开源项目大全-iOS APR 25TH, 2014 前言 本文旨在搜集github上优秀的开源项目 本文搜集的项目都是用于iOS开发 本文会持续更新… 完整客户端 ioctocat g ...
- intellij 提交代码到git
.配置git .create git repository .git-->add commit Directory .提交代码 git remote add origin https://git ...
- Kafka学习笔记(一):概念介绍
Kafka是一个开源的,分布式的,高吞吐量的消息系统.随着Kafka的版本迭代,日趋成熟.大家对它的使用也逐步从日志系统衍生到其他关键业务领域.特别是其超高吞吐量的特性,在互联网领域,使用越来越广泛, ...
- .net学习笔记---IIS 处理模型及ASP.NET页面生命周期
本文是基于IIS6的处理模型. 当一个客户端页面访问IIS试图获取一些信息的时候,发生了什么事情?一个请求在通过了HTTP管道后又发生了什么?本文主要是描述这两个过程,即IIS处理asp.net请求和 ...
- JUC系列回顾之-CountDownLatch底层原理和示例
CountDownLatch 是一个同步工具类,允许一个线程或者多个线程等待其他线程完成操作,再执行. CountDownLatch(int count) 构造一个用给定计数初始化的 CountDow ...
- SL4A
参考文章:http://my.oschina.net/u/1468102/blog/208687 如何安装使用SL4A http://www.ibm.com/developerworks/cn/mob ...
- sql server 本地复制订阅 实现数据库服务器 读写分离
再前段echosong 写了一遍关于mysql 数据同步实现业务读写分离的文章,今天咱们来看下SQL Server的复制订阅实现数据的读写分离 比起mysql的复制,SQL server 复制相对强大 ...
- poj 3281 最大流+建图
很巧妙的思想 转自:http://www.cnblogs.com/kuangbin/archive/2012/08/21/2649850.html 本题能够想到用最大流做,那真的是太绝了.建模的方法很 ...