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 timetk = 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

【汇智学堂】-python系列小游戏(井字游戏之三)_python系列小游戏


图2-8