Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Math 如何在循环中记录连胜-制造赔率计算器_Math_Lua_Coronasdk - Fatal编程技术网

Math 如何在循环中记录连胜-制造赔率计算器

Math 如何在循环中记录连胜-制造赔率计算器,math,lua,coronasdk,Math,Lua,Coronasdk,我在做一个赔率计算器。我正在尝试打印一名球员将赢得的最高连胜记录和平均连胜记录 当我提到连胜时,我指的是在对手赢1之前,球员连续赢了多少次,反之亦然 我的赔率是40%对60%,仅供参考 while (nFlip <= 99) do nFlip = nFlip + b if math.random(0,4) < 2 then countPlayer = countPlayer + b --!!!!! How to record player str

我在做一个赔率计算器。我正在尝试打印一名球员将赢得的最高连胜记录和平均连胜记录

当我提到连胜时,我指的是在对手赢1之前,球员连续赢了多少次,反之亦然

我的赔率是40%对60%,仅供参考

while (nFlip <= 99) do

    nFlip = nFlip + b 

    if math.random(0,4) < 2 then
        countPlayer = countPlayer + b
--!!!!! How to record player streak and player average
        print( "Player Wins" )
    elseif math.random(0,4) < 3 then
        countHouse = countHouse + b
 --!!!!! How to record player streak and player average
        print( "House Wins" )
    end

end

while(nFlip如果连胜的定义是连续获胜的次数,则计算连胜数,并存储在表中

local playerStreak = 0
local houseStreak = 0
local playerStreaks = {}
local houseStreaks = {}
local nFlip = 0

math.randomseed(os.time())

while nFlip <= 99 do
    nFlip = nFlip + 1

    local r = math.random()
    local playerWinProb = 0.4
    if r < playerWinProb then -- player wins!
        playerStreak = playerStreak + 1
        if houseStreak > 0 then -- house won last, end of its streak
            table.insert(houseStreaks, houseStreak)
            houseStreak = 0
        end
        -- print( "Player Wins" )
    else
        houseStreak = houseStreak + 1
        if playerStreak > 0 then -- house won last, end of its streak
            table.insert(playerStreaks, playerStreak)
            playerStreak = 0
        end
        -- print( "House Wins" )
    end
end

table.sort(playerStreaks)
print('largest player streak:', playerStreaks[#playerStreaks])
table.sort(houseStreaks)
print('largest house streak:', houseStreaks[#houseStreaks])
localplayerstreak=0
局部housestrake=0
本地playerStreaks={}
局部条纹={}
本地nFlip=0
math.randomseed(os.time())
当nFlip 0时,豪斯赢了最后一场,结束了连胜
表.插入(房屋条纹,房屋条纹)
housestrake=0
结束
--打印(“玩家获胜”)
其他的
房屋条纹=房屋条纹+1
如果playerStreak>0,那么——豪斯赢了最后一场,结束了连胜
表.插入(playerStreak,playerStreak)
playerStreak=0
结束
--打印(“豪斯赢了”)
结束
结束
表.排序(playerStreaks)
打印(“最大玩家连胜:”,playerStreaks[#playerStreaks])
表.排序(房屋条纹)
打印(“最大房屋条纹:”,房屋条纹[#房屋条纹])
完成所有翻转后,您可以计算统计信息:

  • 对于最大的玩家连胜,搜索
    playerStreaks
    以获得最大值(我很懒,使用了排序,虽然效率不高,但也不错);对于最大的玩家连胜,也是如此
  • 对于平均值,将所有玩家连胜相加并除以玩家连胜
  • 等等

因此,您希望它在
循环结束时告诉您房子和玩家的最高条纹和平均值?就在鼻子上,对。使用存储条纹的数组,然后对k,v成对执行
循环,找到最高值并计算平均值。
elseif math.random(0,4)<3那么
应该是
否则