CWYAlpha

Just another WordPress.com site

Thought this was cool: 做了个新浪微博app,类似于hot or not

leave a comment »


最近生活有点无聊,想起来《社交网络》中Mark做的那个facemash(类似于hot or not),正好最近在用php,SAE和新浪微博API,所以索性综合这三样做个APP,练练手。UI完全没做,就是把功能都实现了。地址是http://guessulove.sinaapp.com/ 如果授权成功不了的话,可以直接访问http://guessulove.sinaapp.com/hot.php

1、数据来源

用微博的public_timeline接口,爬了5000个未知用户的头像数据作为初始数据。如果用户希望自己的头像也能参与到这个比赛中,有一个功能add my avatar ,可以将用户的头像数据添加到数据库中。

2、关于图片

初始的两幅图片是随机生成的,当用户点击其中一个图片时,表示他喜欢这张图,觉得它cute,然后系统会自动更换另外一幅图,依次进行下去。

这里,存在个问题。随机生成的新图片需要考虑公平的因素,以前出现过的图片在以后出现的概率会减小,而之前没有出现的图片以后出现的概率要增大。

3、关于算法

这里用的排名算法是国际象棋用的排名算法。在最开始的时候,给定所有的图片同样的初始分数10000,当有用户开始点击图片的时候,就会用下面的算法进行分数计算:

                        $k = 30;//常数

$id1_score = $data[0][‘score’];//id1的实力值

$id2_score = $data1[0][‘score’];//id2的实力值

$delta = $id2_score – $id1_score;//对手的实力值减去自己的实力值

$ex = 1/(1+pow(10,$delta/400));//期望胜率

$id1_score += $k*($value – $ex);//id1新的实力值 

4、功能

功能十分简单。

(1)单击某张图片,表示这个用户喜欢这个图片。

(2)用户可以实时地看到排名在前十的头像。

(3)用户可以添加自己的头像进入数据库。

(4)用户可以查看自己的排名。

 

学php大概半个月了,做了一些很烂很烂的东西来练练手。个人觉得php还是比较好上手的。另外,感觉SAE非常好用!

 

from 阿俊的博客: http://somemory.com/myblog/?post=40

Written by cwyalpha

五月 22, 2012 在 3:09 上午

发表在 Uncategorized

发表评论

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 更改 )

Twitter picture

You are commenting using your Twitter account. Log Out / 更改 )

Facebook photo

You are commenting using your Facebook account. Log Out / 更改 )

Google+ photo

You are commenting using your Google+ account. Log Out / 更改 )

Connecting to %s

%d 博主赞过: