課程視頻:
https://edu.csdn.net/course/detail/28882
代碼:
from tkinter import*
import time
#畫布
#棋盤
#鼠標左鍵綁定事件
class Game:
def __init__(self):
#self.ball=ball
self.tk = Tk()
self.tk.title("四二學堂Python四子連珠遊戲")
self.tk.resizable(0, 0) # 窗口在水平、垂直方向的大小都不能改變
# tk.wm_attributes("-topmost",1) #畫布窗口放在其他所有窗口之前
self.canvas = Canvas(self.tk, width=700, height=700)
# anvas = Canvas(tk,width=700,height=700,bd=0,highlightthickness=0)
# bd=0 highlightthickness=0 確保在畫布之外沒有邊框,看上去更美觀些
self.canvas.pack()
def action(self,event):
for i in range(0, 5):
if (event.x >= 100 + i * 100 and event.x < 100 + i * 100 + 100):
id1=self.canvas.create_oval(100+i*100,40,100+i*100+100,140,fill="red")
self.ball=Ball()
self.ball.down(id1,self.canvas,self.tk)
class Ball:
def __init__(self):
self.y=0
self.y0=10
def down(self,id1,canvas,tk):
self.canvas=canvas
self.tk=tk
for i in range(0, 200):
self.canvas.move(id1, 0, 10) # 10像素縱向下降
self.y=self.y+10
if(self.y>450):
break
self.tk.update()
time.sleep(0.1)
class Dlines:
def drawline(self, canvas):
self.canvas = canvas
a = [100, 200, 300, 400, 500, 600]
for ii in a:
self.canvas.create_line(100, ii, 600, ii)
self.canvas.create_line(ii, 100, ii, 600)
'''
class ball:
def down(self):
'''
if __name__=="__main__":
ball=Ball()
game=Game()
game.canvas.bind('<Button-1>', game.action)
dlines = Dlines()
dlines.drawline(game.canvas)
game.tk.mainloop()