:doodle{ @size: 100vm 98vmin; } position: fixed; top: @r(1%, 100%); left: @r(1%, 100%); width: 2px; height: 2px; background: #04033e; border-radius: 50%; z-index:-999; background: hsl(@r(90, 120, 3), @r(90%, 100%), @r(30%, 40%)); zoom: @rn(.1, 5, 3); transform: rotate(@r(360deg)) translate(@r(-50, 50)vmin, @r(-50, 50)vmin); animation: move @r(20, 40)s infinite @r(-10, 0)s @p(linear, ease-in, ease-in-out) alternate; box-shadow: 0 0 1px hsl(@r(90, 120, 3), @r(90%, 100%), @r(30%, 40%)), 0 0 3px hsl(@r(90, 120, 3), @r(90%, 100%), @r(30%, 40%)); @keyframes move { 0% { transform: rotate(0) translate(0, 0); } 100% { transform: rotate(720) translate(-90, -90); } } @keyframes starMove{ from { } to { } } @keyframes weiba{ 100%{ box-shadow: 0 0 100px #fff, 0 0 300px #fff; } }

猜星星逻辑

星星本身是一个循环队列,在队列中,星星是有顺序的。

每次取出一颗星星,赋予符合条件的闪存,然后再将星星放入队列尾。

目前已知的条件为:
1.某个随机的时间点
2.同一个人,两次发言要间隔5分钟以上,才被允许赋予星星。 这两次发言是否有星星不重要。

取星星:
取星星的动作是随机的,可能有一个随机数判断是否要取星星,并获取一个时间戳。

目前猜测是,
拿到星星的时间戳,会找和这个时间戳完全相同(或其允许偏移一段时间)的符合条件的闪存,赋予星星,这应该也是为什么有并发刷星的时候,会有同一颗星星在多条闪存上的原因。

假设拿到时间戳,但没有符合条件的闪存,这个星星就重新放回到队头, 等下一次触发。

posted @ 2024-07-23 10:38  ⁂六娃⁂  阅读(69)  评论(0)    收藏  举报
xxxx