2.4画出静态的棋子
现在我们要在棋盘上画棋子。我们从一个棋子开始。下面是我们要做的事情。
1、画出第一个棋子。这里我们用一个填充了绿色的圆来代表。
2、我们需要将圆画在指定的位置上。保证它落下的位置在第一个格子里。
3、按照第二步的方法,画出另外的圆,体会一下落子和棋盘的位置关系。

实现代码如下:

#落下棋子
canvas.create_oval(100, 100, 300, 300, fill = “green” )
canvas.create_oval(300, 100, 500, 300, fill = “red” )#(x,y,x2,y2)
canvas.create_oval(500, 100, 700, 300, fill = “green” )

canvas.create_oval(100, 300, 300, 500, fill = “red” )
canvas.create_oval(300, 300, 500, 500, fill = “green” )
canvas.create_oval(500, 300, 700, 500, fill = “red” )

canvas.create_oval(100, 500, 300, 700, fill = “green” )
canvas.create_oval(300, 500, 500, 700, fill = “red” )
canvas.create_oval(500, 500, 700, 700, fill = “green” )

在canvas.create_oval(100, 100, 300, 300, fill = “green”
)中,函数create_oval()是用来画圆的。第一个100代表圆的左切线距离棋盘左侧的距离,第二个100代表圆的上切线距离棋盘上侧的距离,第三个300代表圆的右切线距离棋盘左侧的距离,第四个300代表圆的下切线距离棋盘上侧的距离。fill后面,是我们需要显示的颜色。这里我们选择了绿色和红色。

将代码整合起来,整合后完整代码如下:

#-- coding:GBK --

from tkinter import *
import time

tk = Tk()
tk.title(“雷雷的井字游戏”)
tk.resizable(0, 0)
tk.wm_attributes("-topmost", 1)
canvas = Canvas(tk, width=800, height=800, bd=0, highlightthickness=0)
canvas.pack()
tk.update()

#画棋盘
canvas.create_line(100,100,700,100)
canvas.create_line(100,300,700,300)
canvas.create_line(100,500,700,500)
canvas.create_line(100,700,700,700)

canvas.create_line(100,100,100,700)
canvas.create_line(300,100,300,700)
canvas.create_line(500,100,500,700)
canvas.create_line(700,100,700,700)

#落下棋子
canvas.create_oval(100, 100, 300, 300, fill = “green” )
canvas.create_oval(300, 100, 500, 300, fill = “red” )#(x,y,x2,y2)
canvas.create_oval(500, 100, 700, 300, fill = “green” )

canvas.create_oval(100, 300, 300, 500, fill = “red” )
canvas.create_oval(300, 300, 500, 500, fill = “green” )
canvas.create_oval(500, 300, 700, 500, fill = “red” )

canvas.create_oval(100, 500, 300, 700, fill = “green” )
canvas.create_oval(300, 500, 500, 700, fill = “red” )
canvas.create_oval(500, 500, 700, 700, fill = “green” )

while 1:
tk.update_idletasks()
tk.update()
time.sleep(0.01)

运行这段代码,3*3方格的棋子就出现在棋盘上了。见图2-8

图2-8

友情链接
KaDraw流程图
API参考文档
OK工具箱
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:[email protected]
QQ群:637538335
关注微信