如何做个游戏左右压分平衡算法

cqhydz 2018-10-25 04:35:14
要做个小功能,就是用户左右压分(范围1-10分),左面的压得少赔率就增加,相应右面赔率就减少。核心就是做到最终游戏风险控制两面平衡。
...全文
596 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
cqhydz 2018-10-30
  • 打赏
  • 举报
回复
引用 15 楼 sp1234 的回复:
分子分母倒过来放。直接写出把这个二元一次方程组的解
谢谢,我按你的思路来做一下
cqhydz 2018-10-29
  • 打赏
  • 举报
回复
先假设一下 如果左右都为1000时赔率应都为1.1 左右两边占投注的50%,当比例变化时,再计算赔率,这里就需要经验了。
,1000 1.1 1000 1.1
cqhydz 2018-10-29
  • 打赏
  • 举报
回复
引用 11 楼 xuzuning 的回复:
这取决与庄家的承受能力,你描述的计算中,缺少了这个,所以不好计算
由于庄家是赢多输少,奖池是会不断增大的。但也不能排除玩家单边赢的情况
原则就是 投注额 * 赔率 < 奖池额
也就是 赔率 < 奖池额 / 投注额
这样才不至于倒闭

从单纯上看,如果一定要在 投注额 * 赔率 < 奖池额 赔率就没有吸引力的,比如我举的例子中。4670 10.61 17362 1.1 右侧是左侧的3.731608212倍,1.1是保底赔率,4670 的赔率是 10.61 ,如果这样结束左赢则需要49548.7,而此时右边总数只有17362,这显然超过了减去投注会产生-27516.7。
我想得到的是一般右边+1左边应如何调整这种比例合理,我不能凭脑子想,右边+1 赔率下降-0.01 左边赔率 +0.01。
  • 打赏
  • 举报
回复
分子分母倒过来放。直接写出把这个二元一次方程组的解
  • 打赏
  • 举报
回复
假设你希望投 1000000的时候达到平衡,那么当前两边赔率之比就应该是 (100000-4670)/(100000-17362)。而赔率之和是 100000/(4670+17362)/2。
xuzuning 2018-10-28
  • 打赏
  • 举报
回复
这取决与庄家的承受能力,你描述的计算中,缺少了这个,所以不好计算
由于庄家是赢多输少,奖池是会不断增大的。但也不能排除玩家单边赢的情况
原则就是 投注额 * 赔率 < 奖池额
也就是 赔率 < 奖池额 / 投注额
这样才不至于倒闭
cqhydz 2018-10-28
  • 打赏
  • 举报
回复
这是一个游戏上的赔率计算
4670 10.61 17362 1.1


4676 10.62 17449 1.1

cqhydz 2018-10-28
  • 打赏
  • 举报
回复
引用 6 楼 qq_17523135 的回复:
[quote=引用 5 楼 cqhydz 的回复:]
[quote=引用 4 楼 qq_17523135 的回复:]
把左右两边的分数各自加起来,做成一个总分(变量)
写两个方法,传入每次要增加的分数,或者写一个方法,方法中的参数由分数和压左还是压右。
每次增加分数之后,调整赔率。
你大概写个代码出来啊,有问题再帮你解答啊。
我就是不知道这个值如何设置啊。需要一个中数值与叠加值多少啊[/quote]
赔率的计算么?
首先需要两个数组:左值数组(押金,押金赔率),右值(押金,押金赔率) 这个是数组,记录每次押金时变化的赔率,每一组就是每个人的押金。
这样就可以计算出左值总赔数和右值总赔金额。(每次下注的押金赔率是不一样的,所以每一注要陪的钱也不一样,需要数组记录)
接下来就是赔率的计算,
如果不计算盈利的话,甚至是有可能亏本的时候,你还是需要设置一个底线:
比如左值(1000:1.1%,2000,0.90) = 2900;右值(2000:0.9,1000:1.2)=3000;
右边已经多了,你在押右边肯定超出了,可是右边还是要有赔率的,你设置个最低的?1.01。这个可以通过。。。
靠,说不下去了,大概是这个意思,具体的不想了,要上班了。。。。[/quote]
感谢回复,这里我主要想知道的是如何计算赔率的增加的具体值比例。下面有两种情况在初始赔率定出来后,左边增加或右边增加后赔率这应有个公式吧,保证基本不亏就行了。

左边 赔率 右边 赔率
1 1.01 1 1.01
2 ? 1 ?
3 ? 2 ?

cqhydz 2018-10-28
  • 打赏
  • 举报
回复
引用 7 楼 xuzuning 的回复:
无本生意
用左边的赔右边的,用右边的赔左边的
自然是 左面的压得少赔率就可增加
由于 左面的压得少 当然 右面赔率就减少

显然两边都要有人压,否则庄家就要干赔了
主要是有个起始值与加值,比如左边不变时,右边每增加1分应如何调整两的比例值,这是有一个比例增加的。这个应有个计算公式。
xuzuning 2018-10-27
  • 打赏
  • 举报
回复
无本生意
用左边的赔右边的,用右边的赔左边的
自然是 左面的压得少赔率就可增加
由于 左面的压得少 当然 右面赔率就减少

显然两边都要有人压,否则庄家就要干赔了
张天星 2018-10-27
  • 打赏
  • 举报
回复
引用 5 楼 cqhydz 的回复:
[quote=引用 4 楼 qq_17523135 的回复:]
把左右两边的分数各自加起来,做成一个总分(变量)
写两个方法,传入每次要增加的分数,或者写一个方法,方法中的参数由分数和压左还是压右。
每次增加分数之后,调整赔率。
你大概写个代码出来啊,有问题再帮你解答啊。
我就是不知道这个值如何设置啊。需要一个中数值与叠加值多少啊[/quote]
赔率的计算么?
首先需要两个数组:左值数组(押金,押金赔率),右值(押金,押金赔率) 这个是数组,记录每次押金时变化的赔率,每一组就是每个人的押金。
这样就可以计算出左值总赔数和右值总赔金额。(每次下注的押金赔率是不一样的,所以每一注要陪的钱也不一样,需要数组记录)
接下来就是赔率的计算,
如果不计算盈利的话,甚至是有可能亏本的时候,你还是需要设置一个底线:
比如左值(1000:1.1%,2000,0.90) = 2900;右值(2000:0.9,1000:1.2)=3000;
右边已经多了,你在押右边肯定超出了,可是右边还是要有赔率的,你设置个最低的?1.01。这个可以通过。。。
靠,说不下去了,大概是这个意思,具体的不想了,要上班了。。。。
cqhydz 2018-10-26
  • 打赏
  • 举报
回复
引用 4 楼 qq_17523135 的回复:
把左右两边的分数各自加起来,做成一个总分(变量)
写两个方法,传入每次要增加的分数,或者写一个方法,方法中的参数由分数和压左还是压右。
每次增加分数之后,调整赔率。
你大概写个代码出来啊,有问题再帮你解答啊。
我就是不知道这个值如何设置啊。需要一个中数值与叠加值多少啊
张天星 2018-10-26
  • 打赏
  • 举报
回复
把左右两边的分数各自加起来,做成一个总分(变量)
写两个方法,传入每次要增加的分数,或者写一个方法,方法中的参数由分数和压左还是压右。
每次增加分数之后,调整赔率。
你大概写个代码出来啊,有问题再帮你解答啊。
把分全给哥 2018-10-26
  • 打赏
  • 举报
回复
我对赔率没啥概念
cqhydz 2018-10-25
  • 打赏
  • 举报
回复
赔率精确到小数后两位比如1.11

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧