我有一个移动表格,根据玩家对AI的选择来决定玩家是否获胜。想想石头,布,剪刀,还有更多的动作。我最终会用Python编写代码,但在开始之前,我想知道是否有更好的方法来完成这项工作,而不是使用大量的if语句?
该表如下所示:

我在想,这些动作需要分配数字,或者类似的东西?我不知道从哪里开始..。
发布于 2016-08-16 19:23:36
是的,将决策作为键/值对存储在字典中,将所有可能的组合作为键,将决策作为结果。基本上,为可能的移动创建一个查找表。
这加快了决策速度,但代价是必须存储所有可能的组合。
def tie():
print("It's a tie!")
def lose():
print("You lose")
def win():
print("You win")
moves = {
# player_ai action
'punch_punch': tie,
'punch_kick': lose,
'punch_stab': lose,
<..>
}
player_move = <move>
ai_move = <move>
key = "_".join([player_move, ai_move])
if key in moves:
# Execute appropriate function
return moves[key]()
raise Exception("Invalid move")https://stackoverflow.com/questions/38973433
复制相似问题