Python Drughts游戏中奇怪的语法错误

Python Drughts游戏中奇怪的语法错误,python,python-3.x,syntax,syntax-error,Python,Python 3.x,Syntax,Syntax Error,两个月前我开始用Python编程,一周前我遇到了一个问题,无法找到解决方案。 我已经画了一个Drughts游戏的棋盘,我希望棋子能像我希望的那样移动 这里有两个函数,direction_rouge()(法语中胭脂是红色)和direction_bleu()(bleu表示蓝色) 它们正确地改变了碎片的坐标,我试图在下一个If循环中使用它们。 循环决定了玩家可以玩的圈数。 每个循环都是一个圈,因此方向_rouge()和方向_bleu()只调用一次(如果一块被另一块吃掉,则两个) 我找不到每次调用函数时

两个月前我开始用Python编程,一周前我遇到了一个问题,无法找到解决方案。 我已经画了一个Drughts游戏的棋盘,我希望棋子能像我希望的那样移动

这里有两个函数,direction_rouge()(法语中胭脂是红色)和direction_bleu()(bleu表示蓝色)

它们正确地改变了碎片的坐标,我试图在下一个If循环中使用它们。 循环决定了玩家可以玩的圈数。 每个循环都是一个圈,因此方向_rouge()和方向_bleu()只调用一次(如果一块被另一块吃掉,则两个)

我找不到每次调用函数时出现的语法错误

以下是节目,祝您玩得开心^ ^:

def direction_rouge() :
        """1 up left on the board
        2 up right
        3 down left
        4 down right"""

        t.up()
        t.color(255,255,255)
        t.goto(Xrouge[r-1],Yrouge[r-1])
        t.down()
        t.goto(Xrouge[r-1],Yrouge[r-1])
        t.up()
        t.color(255,0,0)

        if n == 1 :
                t.goto(Xrouge[r-1]-50,Yrouge[r-1]+50)
                t.down()
                t.goto(Xrouge[r-1]-50,Yrouge[r-1]+50)
                Xrouge[r-1] = Xrouge[r-1]-50
                Yrouge[r-1] = Yrouge[r-1]+50
        if n == 2 :
                t.goto(Xrouge[r-1]+50,Yrouge[r-1]+50)
                t.down()
                t.goto(Xrouge[r-1]+50,Yrouge[r-1]+50)
                Xrouge[r-1] = Xrouge[r-1]+50
                Yrouge[r-1] = Yrouge[r-1]+50
        if n == 3 :
                t.goto(Xrouge[r-1]-50,Yrouge[r-1]-50)
                t.down()
                t.goto(Xrouge[r-1]-50,Yrouge[r-1]-50)
                Xrouge[r-1] = Xrouge[r-1]-50
                Yrouge[r-1] = Yrouge[r-1]-50
        if n == 4 :
                t.goto(Xrouge[r-1]+50,Yrouge[r-1]-50)
                t.down()
                t.goto(Xrouge[r-1]+50,Yrouge[r-1]-50)
                Xrouge[r-1] = Xrouge[r-1]+50
                Yrouge[r-1] = Yrouge[r-1]-50
        t.color(255,255,255)
        t.write(r,False,align = "left",font=("Arial",10,"normal"))



def direction_bleu() :
        """same as direction_rouge"""

        t.up()
        t.color(255,255,255)
        t.goto(Xbleu[b-1],Ybleu[b-1])
        t.down()
        t.goto(Xbleu[b-1],Ybleu[b-1])
        t.up()
        t.color(0,0,255)

        if n == 1 :
                t.goto(Xbleu[b-1]-50,Ybleu[b-1]+50)
                t.down()
                t.goto(Xbleu[b-1]-50,Ybleu[b-1]+50)
                Xbleu[b-1] = Xbleu[b-1]-50
                Ybleu[b-1] = Ybleu[b-1]+50
        if n == 2 :
                t.goto(Xbleu[b-1]+50,Ybleu[b-1]+50)
                t.down()
                t.goto(Xbleu[b-1]+50,Ybleu[b-1]+50)
                Xbleu[b-1] = Xbleu[b-1]+50
                Ybleu[b-1] = Ybleu[b-1]+50
        if n == 3 :
                t.goto(Xbleu[b-1]-50,Ybleu[b-1]-50)
                t.down()
                t.goto(Xbleu[b-1]-50,Ybleu[b-1]-50)
                Xbleu[b-1] = Xbleu[b-1]-50
                Ybleu[b-1] = Ybleu[b-1]-50
        if n == 4 :
                t.goto(Xbleu[b-1]+50,Ybleu[b-1]-50)
                t.down()
                t.goto(Xbleu[b-1]+50,Ybleu[b-1]-50)
                Xbleu[b-1] = Xbleu[b-1]+50
                Ybleu[b-1] = Ybleu[b-1]-50
        t.color(255,255,255)
        t.write(b,False,align = "left",font=("Arial",10,"normal"))






# Déroulement de la partie (the game's sequence of events)



turns = int(input("maximum number of turns :"))

t.width(30)

for i in range(1,turns+1) :

        # Red player's turn

        r = int(input("pion rouge numéro : "))
        n=int(input("direction =")
        direction_rouge()

        for i in range(0,15) :    #checks if there was another piece on the board

                if Xrouge[r-1]==Xbleu[i] and Yrouge[r-1]==Ybleu[i] :
                        t.color(255,255,255)
                        t.begin_fill()
                        t.circle(15)
                        t.end_fill()
                        t.color(255,0,0)
                        direction_rouge()
                        #Xbleu[i]=0
                        #Ybleu[i]=0

        t.color(255,255,255)
        t.write(r,False,align = "left",font=("Arial",10,"normal"))

        # Blue player's turn

        b = int(input("pion bleu numéro : "))
        n=int(input("direction =")
        direction_bleu()

        for i in range(0,15) :       #same role
                if Xbleu[b-1]==Xrouge[i] and Ybleu[b-1]==Yrouge[i] :
                        t.color(255,255,255)
                        t.begin_fill()
                        t.circle(15)
                        t.end_fill()
                        t.color(0,0,255)
                        direction_bleu()
                        #Xrouge[i]=0
                        #Yrouge[i]=0

        t.color(255,255,255)
        t.write(b,False,align = "left",font=("Arial",10,"normal"))



print("La partie est finie. (The game is over)")

这行有不平衡的括号。这会在读取下一行的第一个标记时导致语法错误

    n=int(input("direction =")
解决方法是添加一个右括号:

    n=int(input("direction ="))

此错误在代码中出现两次。它必须固定在每个位置。

这一行有不平衡的括号。这会在读取下一行的第一个标记时导致语法错误

    n=int(input("direction =")
解决方法是添加一个右括号:

    n=int(input("direction ="))

此错误在代码中出现两次。它必须在每个位置固定。

您没有粘贴错误的行和消息。错误发生在哪个函数中?你能提供堆栈跟踪吗?请包含错误消息,我们不是透视者。事实上,我看到你有
t.width(30)
,但没有定义
t
。@lucasnadalutti我想没关系,
t
可以在这个代码之外定义。你没有粘贴错误的行和消息。错误发生在哪个函数中?你能提供堆栈跟踪吗?请包含错误消息,我们不是透视者。事实上,我看到你有
t.width(30)
,但没有定义
t
。@lucasnadalutti我想没关系,
t
可以在这个代码之外定义