【四二學堂】python四子連珠遊戲-3(鼠標左鍵綁定事件)

課程視頻:
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()

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章