美文网首页
python 画棋盘

python 画棋盘

作者: 微笑城ios | 来源:发表于2019-04-16 18:21 被阅读0次

    最近 python 上毒, 今天尝试了一下 python , 画一个五子棋的棋盘

    棋盘点击效果

    直接上代码 , 代码里面有注释

    from tkinter import *
    
    # 创建并添加 canvas
    # 创建窗口
    root = Tk()
    root.title("五子棋")
    gaird_width = 30
    gaird_count = 17
    
    widths = gaird_width*gaird_count + 20
    
    root.maxsize(widths, widths)
    root.minsize(widths, widths)
    # 创建并添加Canvas
    cv = Canvas(root, background='white')
    cv.pack(fill=BOTH, expand=YES)
    
    
    # 画一个外边框为白的 , 填充棋盘颜色
    cv.create_rectangle(10,10,gaird_width*gaird_count + 10,gaird_width*gaird_count + 10,outline="white", fill="#CD8500")
    
    # 在棋盘里面画 画格子
    for num in range(1,gaird_count):
        cv.create_line(num*gaird_width + 10 ,
                       gaird_width + 10,
                       num*gaird_width + 10,
                       gaird_width*(gaird_count-1) + 10,
                       width=2,
                       fill="#595959")
    for num in range(1,gaird_count):
        cv.create_line(gaird_width + 10 ,
                       num*gaird_width + 10,
                       (gaird_count-1)*gaird_width + 10,
                       num*gaird_width + 10,
                       width=2,
                       fill="#595959"
                       )
    
    def paint(event):
        python_green = "black"
        x: int = int((event.x + 0.5 * gaird_width - 10)/gaird_width);
        y: int = int((event.y + 0.5 * gaird_width - 10)/gaird_width);
    
        print(x,y)
    
        x1, y1 = (x*gaird_width ), (y*gaird_width)
        x2, y2 = (x*gaird_width + 20), (y*gaird_width + 20)
        cv.create_oval(x1,y1,x2,y2, fill = python_green)
    
    cv.bind("<Button-1>", paint)
    # <Button-1>:鼠标左击事件
    # <Button-2>:鼠标中击事件
    # <Button-3>:鼠标右击事件
    # <Double-Button-1>:双击事件
    # <Triple-Button-1>:三击事件
    
    message = Label(root, text = "press and drag the mouse to tap")
    message.pack(side = BOTTOM)
    
    root.mainloop()
    

    未完待续

    相关文章

      网友评论

          本文标题:python 画棋盘

          本文链接:https://www.haomeiwen.com/subject/nyliwqtx.html