您现在的位置是:网站首页> 编程资料编程资料
用python实现打砖块小游戏_python_
2023-05-26
318人已围观
简介 用python实现打砖块小游戏_python_
本文实例为大家分享了python实现打砖块小游戏的具体代码,供大家参考,具体内容如下
开发益智的打砖块小游戏,你可以试一下能打几块
import pygame,sys,time,random from pygame.locals import * # from static_params import * #引入所有静态参数 from GameClass import * pygame.init() #初始化游戏 mainclock = pygame.time.Clock() #时钟设置 Exit =0 global Surface Surface = pygame.display.set_mode([WindowWidth,WindowHeight],0,32) #窗口设置 pygame.display.set_caption('打砖块游戏') #设置窗口标题 def BeforeGame(): StartImage = pygame.image.load('intro_Ball.png').convert_alpha() #开始图像的界面 button = Button(Surface,FontColor,TextLocation,'StartGame') flag = True while flag: for event in pygame.event.get(): if event.type ==QUIT: Exit = 1 pygame.quit() exit() if event.type == MOUSEBUTTONUP: if button.is_overed(): flag = False Surface.blit(StartImage,ImageLocation) button.ButtonBlit() pygame.display.update() mainclock.tick(100) def Gaming(): #设置一个暂停函数 def pause(): button = Button(Surface,FontColor,TextLocation,'Continue') Surface.fill((0,0,0)) flag = True while flag: for event in pygame.event.get(): if event.type ==QUIT: Exit = 1 pygame.quit() exit() if event.type == MOUSEBUTTONUP: if button.is_overed(): flag = False pygame.mouse.set_visible(True) button.ButtonBlit() pygame.display.update() mainclock.tick(100) Ball = ball(BallCenter,BallRadius,BallColor,BallSpeed,MoveAngle,Surface) paddle = Paddle(0,WindowHeight-PaddleHeight,PaddleWidth,PaddleHeight,PaddleColor,Surface) # 设置一个砖块类的矩阵 BrickMatrix = [[Brick(i,j,BrickWidth,BrickHeight,BrickHitNumber,BrickColor,Surface) for i in range(0,100,BrickWidth+3) if i+BrickWidth<640]\ for j in range(0,50,BrickHeight+2)] mouse_x,mouse_y = pygame.mouse.get_pos() while True: for event in pygame.event.get(): if event.type == QUIT: pygame.quit() exit() if event.type == MOUSEMOTION: mouse_x, mouse_y = event.pos #判断鼠标的位置 if event.type == KEYDOWN: #按下空格键暂停 if event.key == K_SPACE: pause() Surface.fill((0,0,0)) #设置鼠标为不可见状态 pygame.mouse.set_visible(False) #判断球的运动 #判断是否撞上了边界或者挡板 if Ball.center[1]+Ball.radius+paddle.height > WindowHeight: if Ball.center[0]>paddle.left and Ball.center[0]WindowWidth-interval: Ball.rebound2() #判断是否撞上了上边界 elif Ball.center[1]-Ball.radiusBall.center[1] and brick.top-Ball.center[1]-Ball.radius0 and Ball.center[0]>brick.left and Ball.center[0]brick.bottom and Ball.center[1]-Ball.radius-brick.bottombrick.left and Ball.center[0]0 and Ball.center[1]>brick.top and Ball.center[1]brick.right and Ball.center[0]-Ball.radius-brick.rightbrick.top and Ball.center[1] 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
您可能感兴趣的文章:
