zoukankan      html  css  js  c++  java
  • 龙珠激斗大冒险掷筛子算法

    [本文出自天外归云的博客园]

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

    '''
        龙珠大冒险掷筛子介绍:
            在地图中掷筛子
            如果地图剩余格子数大于6则默认进行十连掷
            十连掷不能超过剩余格子数否则进行最大次数连掷
            如果地图剩余格子数小于等于6则进行单掷
            如果单次掷筛子结果大于剩余格子数则进入下一张地图
        输入:
            剩余格子数
        输出:
            掷筛子的结果
    '''
    import random
    
    def 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 ret
    
    def throw_dices(cells):
        if cells > 6:
            _ret = throw_times(10,cells)
        else:
            _ret = throw_once()
        return _ret
    
    if __name__ == '__main__':
        cells = 33
        print(throw_dices(cells))
  • 相关阅读:
    NYOJ 10 skiing DFS+DP
    51nod 1270 数组的最大代价
    HDU 4635 Strongly connected
    HDU 4612 Warm up
    POJ 3177 Redundant Paths
    HDU 1629 迷宫城堡
    uva 796
    uva 315
    POJ 3180 The Cow Prom
    POJ 1236 Network of Schools
  • 原文地址:https://www.cnblogs.com/LanTianYou/p/7094192.html
Copyright © 2011-2022 走看看