62 lines
1.5 KiB
Python
62 lines
1.5 KiB
Python
|
import sys
|
||
|
|
||
|
import pygame
|
||
|
#初始化pygame
|
||
|
pygame.init()
|
||
|
#初始化显示
|
||
|
pygame.display.init()
|
||
|
#创建显示窗口
|
||
|
sc = pygame.display.set_mode((400,300))
|
||
|
#创建时钟对象
|
||
|
clock = pygame.time.Clock()
|
||
|
#设置变量运行游戏为真
|
||
|
is_running = True
|
||
|
|
||
|
#砖块初始化
|
||
|
zk_x = 7.5#第一块转的x坐标
|
||
|
zk_y = 5#第一块转的y坐标
|
||
|
zk_w = 30#砖块的宽度
|
||
|
zk_h = 10#砖块的高度
|
||
|
zk_list = []#初始化砖块列表
|
||
|
#行
|
||
|
for j in range(4):
|
||
|
#列
|
||
|
for i in range(11):
|
||
|
r = pygame.Rect(zk_x,zk_y,zk_w,zk_h)#创建砖块的矩形区域
|
||
|
zk_list.append(r)#将矩形区域加入列表中
|
||
|
zk_x += 35#更新x坐标
|
||
|
zk_y += 15#更新y坐标
|
||
|
zk_x = 7.5#重置x坐标
|
||
|
|
||
|
ballx = 200#小球的x坐标
|
||
|
bally = 150#
|
||
|
ball_speed_x = 2#
|
||
|
ball_speed_y = 2#
|
||
|
|
||
|
#游戏主循环
|
||
|
while is_running:
|
||
|
#背景填充黑色
|
||
|
sc.fill("black")
|
||
|
#遍历砖块列表
|
||
|
for z in zk_list:
|
||
|
#绘制砖块
|
||
|
pygame.draw.rect(sc,"white",z)
|
||
|
|
||
|
ball = pygame.draw.circle(sc, "white", (ballx, bally), 5)
|
||
|
ballx = ballx + ball_speed_x
|
||
|
bally = bally + ball_speed_y
|
||
|
if ballx > 395 or ballx < 5 :
|
||
|
ball_speed_x = -ball_speed_x
|
||
|
if bally > 295 or bally < 5 :
|
||
|
ball_speed_y = -ball_speed_y
|
||
|
|
||
|
#遍历事件
|
||
|
for event in pygame.event.get():
|
||
|
#如果事件为退出事件
|
||
|
if event.type == pygame.QUIT:
|
||
|
is_running = False
|
||
|
pygame.display.flip()#显示更新
|
||
|
clock.tick(60)#设置更新帧率为60
|
||
|
|
||
|
pygame.quit()#结束pygame初始化
|
||
|
sys.exit()#结束系统进程
|