使用turtle库画国际象棋棋盘

import turtle
 
n = 60     # 每行间隔,小格子边长
x = -300   # x初始值
y = -300   # x初始值
 
def main():
    turtle.speed(11)
    turtle.pensize(2)
    turtle.penup()
    # 先画8*8的正方形,并按要求涂黑
    for i in range(8):
        for j in range(8):
            turtle.goto(x + i * n, y + j * n)
            if (i + j) % 2 == 0:   # 白格子
                draw_square(n, "white")
            elif (i + j) % 2 == 1:  # 黑格子
                draw_square(n, "black")
 
    # 再画外面两个正方形
    x1 = x - n * 0.12
    y1 = y - n * 0.12
    n1 = n * 8 + 2 * n * 0.12
    turtle.goto(x1, y1)
    turtle.pensize(4)
    draw_square_2(n1)
 
    # -----------------------------------------------
 
    x2 = x - n * 0.3
    y2 = y - n * 0.3
    n2 = n * 8 + 2 * n * 0.3
    turtle.goto(x2, y2)
    turtle.pensize(10)
    draw_square_2(n2)
 
    turtle.hideturtle()
    turtle.done()
 
def draw_square(length:float, fill_color:str):
    """
    画正方形并填充
    :param length: 边长
    :param fill_color: 填充颜色
    :return: 无
    """
    turtle.pendown()
    turtle.begin_fill()
    turtle.fillcolor(fill_color)
    for index in range(4):
        turtle.forward(length)
        turtle.left(90)
    turtle.end_fill()
    turtle.penup()
 
def draw_square_2(length:float):
    """
    画正方形,不填充
    :param length: 边长
    :return: 无
    """
    turtle.pendown()
    for index in range(4):
        turtle.forward(length)
        turtle.left(90)
    turtle.penup()
 
if __name__ == '__main__':
    main()

  

猜你喜欢

转载自www.cnblogs.com/cnn-ljc/p/12497782.html
今日推荐