有沒有玩過接球打磚塊的小遊戲呢?有沒有玩過自己用Python做出來的打磚塊小遊戲呢?
很多都以爲Python只能用來分析數據和抓取,其實,Python語言相對簡單,但功能強大,素有我大Python的江湖稱號,所以Python除了分析數據和抓取等功能以外,還可以用來做遊戲的開發。
那下面,我再繼續給大家介紹一個Python製作的接球打磚塊的小遊戲,俗稱:打磚塊。
話不多說,先看效果
相應知識點講解
這裏說明一下,因爲這裏不便發相應文件,所以需要相應的源碼、圖片庫等,可以加Q羣580478401。
多父類的繼承
繼承方式分爲新式類和經典類,也就是廣度優先搜索繼承方式(class A(object):)和深度優先搜索繼承方式(class A:),Python3經典類與新式類的繼承方式與Python2的新式類繼承方式一致,都爲廣度優先的繼承方式。
深度優先搜索繼承方式:
如圖:class B(A)、class C(A)、class D(B,C)
如果D有構造函數,就重寫所有父類繼承。
如果D沒有構造函數,B有構造函數,則D會繼承B的函數構造。
如果D沒有構造函數,B也沒有構造函數,則D會繼承 A的構造函數,而不是C的構造函數。
如果D沒有構造函數,B也沒有構造函數,A也沒有構造函數,則D纔會繼承C的構造函數。
廣度優先搜索繼承方式:
如圖:class B(A)、class C(A)、class D(B,C)
如果D有構造函數,則重寫所有父類的繼承
如果D沒有構造函數,B有構造函數,則D會繼承B的構造函數
如果D沒有構造函數,B也沒有構造函數,則D會繼承 C的構造函數,而不是A的構造函數
如果D沒有構造函數,B也沒有構造函數,C也沒有構造函數,則D纔會繼承A的構造函數
通過上面的分析,對於Python中類的繼承順序應該是比較清楚的,那如果我不願意重寫父類,要子類和父類的構造函數都生效怎麼辦?解決辦法需要用到super關鍵字,對直接父類對象的引用,可以通過super來訪問父類中被子類覆蓋的方法或屬性。
所以需要Python的打磚塊小遊戲相應的源碼、圖片庫等,可以轉發+私信我:可以加Q羣580478401,打磚塊。