首页 > 代码库 > 龙珠激斗大冒险掷筛子算法

龙珠激斗大冒险掷筛子算法

今天玩儿龙珠激斗的大冒险时掷筛子的时候想了想掷筛子的算法,自己写着玩儿。代码如下:

‘‘‘    龙珠大冒险掷筛子介绍:        在地图中掷筛子        如果地图剩余格子数大于6则默认进行十连掷        十连掷不能超过剩余格子数否则进行最大次数连掷        如果地图剩余格子数小于等于6则进行单掷        如果单次掷筛子结果大于剩余格子数则进入下一张地图    输入:        剩余格子数    输出:        掷筛子的结果‘‘‘import randomdef throw_once():    return random.randint(1,6)def throw_times(n,cells):    ret = []    while n > 0:        curr = throw_once()        if curr <= cells:            ret.append(curr)            cells = cells-curr            n -= 1        else:            return ret    else:        return retdef throw_dices(cells):    if cells > 6:        _ret = throw_times(10,cells)    else:        _ret = throw_once()    return _retif __name__ == __main__:    cells = 33    print(throw_dices(cells))

 

龙珠激斗大冒险掷筛子算法