import pgzrunimport randomPAD_SPEED = 5HEIGHT = 600 # 舞台高度WIDTH = 800 # 舞台宽度pad_1 = Rect((20, 20), (10, 100))pad_2 = Rect((WIDTH-30, 20), (10, 100))scores = [0,0] #分数BALL_SPEED = 5# 定义了一个类,规则class Ball():# 第一个执行,默认执行def __init__(self):self.reset()def reset(self): # 重置self.pos = [400, 300]s = random.choice([-1,1])self.speed = [BALL_SPEED*s, BALL_SPEED*s]ball = Ball() # 把类给实例化def draw():screen.clear() # 清空屏幕screen.draw.filled_rect(pad_1, "blue") # 画一个矩形screen.draw.filled_rect(pad_2, "blue") # 画一个矩形screen.draw.filled_circle(ball.pos, 6, "white") # 画一个圆screen.draw.text(":", midtop=(WIDTH/2, 20), fontsize=64)screen.draw.text(str(scores[0]), topright=(WIDTH/2 - 40, 20), fontsize=64)screen.draw.text(str(scores[1]), topleft=(WIDTH/2 + 40, 20), fontsize=64)def update(dt):if keyboard.w:pad_1.y -= PAD_SPEEDelif keyboard.s:pad_1.y += PAD_SPEEDif keyboard.up:pad_2.y -= PAD_SPEEDelif keyboard.down:pad_2.y += PAD_SPEEDif ball.pos[0] < 1:scores[1] += 1if ball.pos[0]>WIDTH-1:scores[0]+=1for i in range(2):ball.pos[i] += ball.speed[i]if ball.pos[1] < 0 or ball.pos[1] > HEIGHT:ball.speed[1] *= -1 # 速度变成反方向if ball.pos[0] < 0 or ball.pos[0] > WIDTH:ball.reset() # 就重置了# pad_1.collidepoint(ball.pos) :板子和我们的小球相碰了if pad_1.collidepoint(ball.pos) and ball.speed[0] < 0:ball.speed[0] *= -1if pad_2.collidepoint(ball.pos) and ball.speed[0] > 0:ball.speed[0] *= -1music.play("bgm")pgzrun.go()
bgm.mp3背景音乐素材
