我试图使一个Tic脚趾在平地,但我遇到了一些问题,与人工智能系统。我想做的是,如果中间位置没有被占据,它就会选择它,如果不是,它会选择一个随机数,并列出它可以赢得的所有路线,以及玩家将使用的所有路线,但是它会阻止他们,但是我遇到了这个问题。我的代码:
def click1():
if isTaken1 == False:
Button1.config(text = "O")
pTurn1 = True
Button1 = Button(root, command = click1)
Button1.config(width = "5", height = "3")
Button1.place(x = 100, y = 30)
#I have nine of these however I can't show them all as it will make this post very long我试图添加它时,球员采取一个回合( pTurn变量),它将使人工智能行动,然而,我不知道在哪里放置人工智能代码。
我试着做这样的事情:
If isTaken5 == False: #Checking if the middle spot is taken
Button5.config(text = "X") #Player is O and AI is X
else:
AIChoice = random.randint(1,8)
if AIChoice == 1:
Button1.config(text = "X")所以你知道了它的基本概念,但是我不知道把鳕鱼放在哪里,就好像语句放在你改变的地方之后,它不起作用一样。
发布于 2021-12-08 17:40:41
在一个基于回合的游戏中,你可以在用户开始回合后立即调用人工智能函数。例如,让我们从计算机的函数开始。这就是你的人工智能存在的地方
def computer_turn():
<your logic to pick an empty square>理想情况下,您还需要检查计算机选择最后一个位置的情况,但为了保持示例简单,我现在忽略了这一点。
接下来,我们有一个供玩家使用的功能。在本例中,它接受了被单击的行和列。这将选择被点击的按钮,检查游戏是否结束,如果游戏尚未结束,请调用computer_turn。
看起来会是这样的:
def player_turn(row, column):
<your logic to select the given row and column>
if not is_game_over():
computer_turn()这不是处理游戏逻辑的唯一方法。例如,您可以创建一个小的状态机。然而,对于像这样简单的游戏来说,这种基于转弯的系统已经足够好了。
https://stackoverflow.com/questions/70253500
复制相似问题