我怎样才能在每一回合中获得随机的nextMove状态?

问题描述:

我有这样的代码。但是我每次在主程序中调用nextMove()函数都不知道如何返回不同的动作。我是新手,请帮忙。我怎样才能在每一回合中获得随机的nextMove状态?

class Player: 
    def __init__(self, str_name): 
     self.str = str_name 

    def __str__(self): 
     return self.str 

    def nextMove(self, state): 
     result = [(1,1),(2,2)] 
     return result 
+0

动作有什么可能性? – TrakJohnson

+0

范围从0到7(英文草稿表)。我已经尝试过使用随机库,在该类中创建4个变量,但它返回了错误 –

尝试:

from random import randint 

class Player: 
    def __init__(self, str_name): 
     self.str = str_name 

    def __str__(self): 
     return self.str 

    def nextMove(self, state): 
     result = [(randint(0,8),randint(0,8)) for _ in range(2)] 
     return result 


if __name__ == "__main__": 
    player = Player('Simba') 
    for i in range(5): 
     print(player.nextMove('Safari')) 

# [(10, 2), (2, 4)] 
# [(4, 0), (10, 0)] 
# [(3, 0), (4, 4)] 
# [(8, 4), (2, 3)] 
# [(4, 4), (2, 1)] 

这不是很清楚的nextMove方法应该如何界定。方法定义中的任何地方都不使用state参数。因此,在我的例子中,我将它设置为“Safari”。

我希望这证明有用。

+0

我可以在此类中创建变量并将其放入结果中。我试过了,但是失败了 –

+0

@ congbang10h请提供一些代码和错误追溯,不清楚你在问什么。 – TrakJohnson

+0

我发表了另一个细节主题,您可以移动它并查看我的整个程序。 [链接](http://*.com/questions/43464930/how-to-utilize-minimax-algorithm-in-english-checkers-game)。 感谢您的帮助@TrakJohnson –