- 博客(5)
- 收藏
- 关注
原创 elo积分算法
elo积分算法计算玩家的相对技术等级,由Arpad Elo发明。本来是一个改良的国际象棋积分系统,后广泛应用于游戏的积分系统以及各类竞技体育的积分排位系统。核心原则假设每个玩家在每盘游戏中的表现是一个正态分布的随机变量虽然选手的发挥可能起伏比较大,但是一段时间内会趋于一个平均值用这个随机变量的平均值代表选手的真正水平如果平均值变大,那么就代表这个选手的水平上升(段位提升了)数学公式Ra:A选手当前分数Rb:B选手当前分数Ea:预期A选手的胜负值Ea = 1 / (1 + 10^[
2021-04-09 10:07:04 1189
原创 生命游戏 Life of Game
看睡前消息的时候了解到了约翰·何顿·康威(John Horton Conway)这位伟大的数学家,同时也对他创造的生命游戏(Life of Game)很感兴趣,于是自己闲来无事实现了一下。游戏规则:当前细胞为死亡状态时,当周围有3个存活细胞时,则迭代后该细胞变成存活状态当前细胞为存活状态时,当周围的邻居细胞低于两个存活时,该细胞变成死亡状态当前细胞为存活状态时,当周围有两个或3个存活细胞时,该细胞保持原样当前细胞为存活状态时,当周围有3个以上的存活细胞时,该细胞变成死亡状态在Linux下编写
2021-03-13 23:51:36 1350
原创 伪随机和“伪随机”
源于某天晚上玩游戏时的临时起意。如图所示,FF14中诗人的1号技能 强力射击 在发动时会有20%的几率触发 直线射击预备 效果,该状态会激活平时处于无法发动状态下的4号技能 直线射击,由此,该职业可以在战斗中造成更多的输出。在实际的游戏体验中,经常会出现连续触发该技能追加效果或者连续触发不了的情况,也就是极端的欧非情况。如果按照我的游戏常识来看,为了保持游戏的公平性(竞技游戏)和体验度(抽卡游戏),游戏在设计如此类的随机机制时,会引入一个叫做 “伪随机” 的概念。这种机制不会让你特别欧,也不会让你特别
2021-01-21 16:53:53 1643 2
原创 判断链表是否有环及寻找入环点
问题来源:面试提问判断链表是否有环经典问题,使用快慢指针解决。寻找入环点我们设起点到入环点的长度为a,从入环点到快慢指针相遇的位置的长度为b,环长为c。那么在快慢指针相遇的时刻,慢指针总共走过了s = a + b的长度,同时快指针总共走过了2s = a + b + nc ===> 2s = s + nc的长度。对两个公式进行合并化简的结果为a = c - x。由该等式可以知道,从起点开始到入环点的长度和相遇点到入环点的长度相同。即,在相遇时,在链表头再安排一个新的慢指针,并让环中的慢指针
2020-10-28 21:05:52 241
原创 尾调用及其消除
问题来源:《Lua程序设计》第四版 第六章 第四节尾调用 tail call概念:一个函数里的最后一个动作是一个函数调用的情形Lua例:function func1(x) do return func2(x) end也就是说,是这个调用的返回值直接被当前函数返回的情形。为什么这种情况要单独拿出来定义,首先要明确函数 调用栈 的概念。调用栈在程序的内存空间中,有一块专门的区域被用来记录正在调用的函数的情况,这块区域就是函数调用栈。每次调用一个新的函数时,就会在调用栈顶进行一个压栈操作;函数
2020-10-27 18:56:07 353 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人