这是一个井字棋游戏在tkinter上绘制叉号和圆圈图案的,想问一下绘制的原理


for i in range(1, 3):
    w1.create_line(i * 180 + 20, 20, i * 180 + 20, 560)
    w1.create_line(20, i * 180 + 20, 560, i * 180 + 20)

 if num % 2 == 0 and A[i][j] == 0:            #若为偶数就画叉号
        A[i][j] = 1
        w1.create_line(110 + 180 * i - 45 * math.sqrt(2), 110 + 180 * j - 45 * math.sqrt(2),
                       110 + 180 * i + 45 * math.sqrt(2), 110 + 180 * j + 45 * math.sqrt(2))
        w1.create_line(110 + 180 * i + 45 * math.sqrt(2), 110 + 180 * j - 45 * math.sqrt(2),
                       110 + 180 * i - 45 * math.sqrt(2), 110 + 180 * j + 45 * math.sqrt(2))
        num += 1
    if num % 2 != 0 and A[i][j] == 0:        #若为奇数就画圆圈
        A[i][j] = 2
        w1.create_oval(20 + 180 * i, 20 + 180 * j, 20 + 180 * (i + 1), 20 + 180 * (j + 1))
        num += 1

绘制直线的方式是提供两个点的x,y坐标,create_line会绘制一条从x1y1到x2y2的直线
绘制圆的方式是提供两个点的坐标,create_oval会绘制两个点所描述的矩形的内切椭圆

create_line这个是自定义函数,从函数名称和参数可知,这是一个画图函数,根据圆圈和叉号的角度进行画图。具体用了什么模块画图需要看函数具体定义过程