基本上,我正在创建一个游戏:连接4。我希望人工智能检查水平和垂直,如果用户即将赢得每一次移动是作出。实际情况是,它应该一次只执行一个检查,因为无论如何你不能同时执行两个动作。你知道吗
因此,我创建了两个check函数。一个用于水平检查,一个用于垂直检查。i、 电子邮件:
假设player counter是'X'
,AI counter是'O'
:
def horizonal_check():
if 'XXX'= True:
AI='XXXO'
我实际游戏中的if语句比这更复杂,但本质上,这是它检查的内容,然后允许AI在适当的位置放置自己的计数器,阻止我获胜。你知道吗
def vertical_check():
if 'XXX' = True:
AI = 'XXXO'
这实现了与上述函数相同的策略,但唯一的区别是,它检查一行中3个计数器的垂直组合,而不是水平组合。你知道吗
所以我真正想做的是将这两个check函数存储在一个元组中,然后使用for循环遍历每一个。这样可以确保一次只运行一个检查。这是我的for循环:
Checks = (horizontal_check(), vertical_check()) # Checks stored in a tuple
for c in Checks:
return c
我希望这个for循环一次遍历元组中的每个单独检查。但似乎不起作用。人工智能什么都不做
您当前正在创建一个元组,其中分别包含两个函数调用
None
和None
的返回值,而不是函数本身。你知道吗添加功能:
然后叫他们:
此外,我怀疑这是一个微不足道的例子,但仍然:
'XXX' = True
是不允许的(至少在if
中),应该是'XXX' == True
。你知道吗return
在for
循环中:这是一个不-不很难说,但我想你想要这个
相关问题 更多 >
编程相关推荐