1 import pygame 2
from pygame.locals import * 3
import sys, random 4 5 6
class
Circle(object): 7
# 设置Circle类属性 8 def __init__(self): 9
self.vel_x = 110 self.vel_y = 111
self.radius = 2012
self.pos_x, self.pos_y = random.randint(0, 255), random.randint(0, 255)13
self.width = 014 self.color = 0, 0, 015 16
# 球体颜色速度改变方法17 def change_circle(self, number):18
self.color = random.randint(0, 255), random.randint(0, 255), random.randint(0, 255)19
# 防止球体速度方向发生改变20
if
self.vel_x < 0:21
self.vel_x = -number22
else
:23 self.vel_x = number24
if
self.vel_y < 0:25 self.vel_y = -number26
else
:27
self.vel_y = number28
# self.vel_x, self.vel_y = number, number 如果仅此句,速度方向会发生改变
def circle_run(self):31 # 防止球体超出游戏界面框体32
if
self.pos_x > 580
or
self.pos_x < 20:33 self.vel_x = -self.vel_x
if
self.pos_y > 480
or
self.pos_y < 20:36 self.vel_y = -self.vel_y37
self.pos_x += self.vel_x38 self.pos_y += self.vel_y39
pos = self.pos_x, self.pos_y40
ygame.draw.circle(screen, self.color, pos, self.radius, self.width)41 42 pygame.init()43
screen = pygame.display.set_mode((600, 500))44
# Circle实例45 circle1 = Circle()46 47
while
True:48
for
event in pygame.event.get():49
if
event.type == QUIT:50
sys.
exit
()51 elif event.type == KEYUP:52
if
event.key == pygame.K_1:53
circle1.change_circle(1)54
elif event.key == pygame.K_2:55
circle1.change_circle(2)56
elif event.key == pygame.K_3:57
circle1.change_circle(3)58
elif event.key == pygame.K_4:59
circle1.change_circle(4)60 61
screen.fill((0, 0, 100))62 63
circle1.circle_run()64 65
pygame.display.update()