用Python编写这个更简洁的方法是什么

时间:2018-01-27 22:05:01

标签: python turtle-graphics

所以我基本上试图为“里程碑项目”制作一个tic tac toe游戏(在Udemy课程中)。我正在尝试使用龟图形。我制作了一个3x3的电路板,我尝试在一个正方形的中心以45度角来回画出一个“X”(如下所示)。

kare1or = -300, 300
def carpi(num):
turtle.color('blue')
    if num == 1:
        turtle.setpos(kare1or)
        turtle.lt(45)
        turtle.pd()
        turtle.fd(150)
        turtle.bk(300)
        turtle.pu()
        turtle.setpos(kare1or)
        turtle.rt(90)
        turtle.pd()
        turtle.fd(150)
        turtle.bk(300)
        turtle.pu()

但是当我这样做时,我必须在每次使用不同的方格时写入(或复制并粘贴)数字和中心。我想要的是有一个函数或其他东西来做到这一点: 如果数字为1,则使用kare1or设置位置 如果数字为x,则使用karexor设置位置 我曾考虑使用字典,但我不知道在这种情况下如何使用它们。

我非常擅长Python和编程,谢谢你的帮助!

1 个答案:

答案 0 :(得分:0)

使用功能:

def draw_x(coord=None)
    if coord is None:
        # Use the current position if none is provided
        coord = turtle.position()

    turtle.setpos(coord)
    turtle.lt(45)
    turtle.pd()
    turtle.fd(150)
    turtle.bk(300)
    turtle.pu()
    turtle.setpos(coord)
    turtle.rt(90)
    turtle.pd()
    turtle.fd(150)
    turtle.bk(300)
    turtle.pu()

# Draw at a known coordinate    
draw_x((-300, 300))

# Draw at the current position
draw_x()

中心坐标成为参数,其他一切都来自于此。它非常适合功能。