04 23 打磚塊小遊戲 3

2021-10-05 09:43:21 字數 2261 閱讀 7740

打磚塊小遊戲 -3

原理研究一:

定義類,類的普通方法的定義,類的繼承等;

1、**中以定義類的類的繼承,呼叫為主題構成,如下:

類的定義:共8個類,其中主程序類繼承上邊7個類;

class

gamewindow

(object):

pass

class

ball(object):

pass

class

brick

(object):

pass

class

rect

(object):

pass

class

score

(object):

pass

class

gameover

(object):

pass

class

collision

(object):

pass

class

main

('...'):

pass

每個類定義了自己的普通方法和私有屬性;

#普通方法的定義

def 函式名(self)

:pass

#私有初始化屬性

def__init__

(self)

:pass

2、類的方法有四大類,普通方法,類方法靜態方法和魔術方法,如下:

#普通方法:

def 函式名(self)

:pass

#類方法

@classmethod

def 函式名(cls)

:pass

#靜態方法

@staticmethod

def 函式名(cls)

:pass

#魔術方法

#①初始化類的屬性

def__init__

(self)

:pass

#②申請以類建立物件,開闢記憶體空間

def__new__

(cls,

*args,

**kw)

:pass

#③刪除不經呼叫的物件,節省記憶體空間 ,python底層設定有,一般不需要寫

def__del__

(cls)

:pass

#④預設物件當函式呼叫時執行其**

def__call__()

:pass

附加:#列印物件時,返回其中定義的返回值

def__str__()

:return

*

類的繼承:主程序類中繼承了其餘7個類,python3中類的多繼承分為

python2.0經典式:深度優先

python3.0版本新式型別:廣度優先

```python

import pygame

from pygame.locals import *

import time,sys,random,math

pycharm在file-setting-project.interprter-+ 搜尋-install

互動式中-cmd-python路徑-pip.install.pygame

pygame中定義了很多不同的方法和屬性,需要熟悉所用到的方法的呼叫方法和所需引數,如screen,rect,mouse等

4、最後通過ifname=='main: 來建立物件呼叫執行

以上為寫**的整體構建,具體每個類中的屬性、引數、方法等後邊仔細研究歸納;

附加:每日一小練習:

四個數字能組成多少個 互不相同且無重複數字的三位數?

nums=

for i in

range(1

,5):

for j in

range(1

,5):

for z in

range(1

,5):

if i!=j and j!=z and i!=z:

num=1*

100+j*

10+z

if num not

in nums:

print

(nums)

在這裡插入**片

上述**時錯誤的,百位i不迴圈,待改:

04 24 打磚塊小遊戲之路 4

打磚塊小遊戲 4 每個類所需的方法和屬性的定義 1 視窗類 gamewindow 屬性 視窗長寬,顏色,遊戲名稱 方法 給視窗填充顏色 難點 pygame包中建立視窗的方法 pygame.screen.set mode args 填充顏色 self.window fill args 2 球類 bal...

android 打磚塊遊戲

想編乙個自己鬧鐘程式,決定學習一下android開發,後來由於某些私人原因吧,緊急的編了乙個程式,突然覺得已經有了打磚塊的程式的雛形,遂決定編個打磚塊吧,放在網上旨在和大家交流。也算是對自己做過的東西的乙個紀念。直接貼 吧,有問題歡迎一起交流。assert中的.cq檔案是關的編輯檔案,可以自己編輯關...

C語言 小遊戲打磚塊實現流程詳解

始祖是美國英寶格公司 en atari games,ja 於1976年推出的街機遊戲 breakout en breakout 由該公司在1972年發行的 pong en pong,ja 世界上第一款電子遊戲,類似撞球 改良而來。相較於其前作,乙個人就可以玩與變化豐富這兩項特點讓breakout相當...