#小球和挡板要自己找照片,放在一个单独文件夹,音乐也是一样的
import pygame pygame.init()#游戏资源加载
a = 700#x轴为700
b = 800#y抽为800
sceeen = pygame.display.set_mode((a,b))#创建游戏窗口
image_ball = pygame.image.load("../image/ball.gif")#加载小球
image_ball_1 = pygame.image.load("../image/123.png")#添加挡板
font = pygame.font.SysFont("kaiti", 30)#添加字体
image_ball_rect_2 = image_ball_1.get_rect()
image_ball_rect = image_ball.get_rect()#获取矩形框
yyue= pygame.mixer.music.load("../image/Saiakoup - Crilwa.mp3")#添加背景音乐
pygame.mixer.music.play(-1)#播放音乐
still = False
key = True#如果key 为假 就结束循环
x=1
y=1
number=0
while key:
# 事件处理
for event in pygame.event.get():
if event.type == pygame.QUIT:
key = False
break
if event.type == pygame.QUIT:
pygame.quit()
break # 控制小球方向键盘控制
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_LEFT:
if x > 0:
x -= 1
if x < 0:
x += 1
if event.key == pygame.K_RIGHT:
x = x+1 if x >= 0 else x-1 if event.key == pygame.K_UP:
y = y + 1 if y >= 0 else y-1
if event.key == pygame.K_DOWN:
if y > 0:
y -= 1
if y < 0:
y += 1
if event.type == pygame.MOUSEMOTION:
if event.buttons[0] == 1:
image_ball_rect = image_ball_rect.move(event.pos[0]-image_ball_rect.x, event.pos[1]-image_ball_rect.y) image_ball_rect_2[0] = event.pos[0]
image_ball_rect_2[1] = b -90#设置挡板位置高度
sceeen.fill((255,182,193))#背景颜色 #内部逻辑
image_ball_rect = image_ball_rect.move(x, y)
if image_ball_rect.left < 0 or image_ball_rect.right > a:
x = -x
if image_ball_rect.top < 0 or image_ball_rect.bottom > b:
y = -y if not still:
image_ball_rect = image_ball_rect.move(x, y) if pygame.Rect.colliderect(image_ball_rect_2, image_ball_rect) and image_ball_rect.bottom - image_ball_rect_2.top <= 1:
y = -y
number+=1
sceeen.blit(image_ball,image_ball_rect)#更新小球
sceeen.blit(image_ball_1, image_ball_rect_2)
image_font = font.render("分为:%s" % number, True, (0, 0, 0))
sceeen.blit(image_font, (10, 10))#计分器的位置
pygame.display.update()#更新画面
#退出游戏
pygame.quit()

python 小球碰撞游戏的更多相关文章

  1. js实现小球碰撞游戏

    效果图:  效果图消失只是截的gif图的问题 源码: <!DOCTYPE html> <html lang="en"> <head> <m ...

  2. 【h5游戏开发】egret引擎p2物理引擎 - 小球碰撞地面搞笑的物理现象

    重力的方向和地面的问题 p2中默认的方向是从上到下,如果重力默认是正数的话,物体放到世界中是会从上面往下面飘的 p2中plane地面默认的方向是y轴的方向,而在p2中y轴的方向默认是从上往下 首先来看 ...

  3. 12岁的少年教你用Python做小游戏

    首页 资讯 文章 频道 资源 小组 相亲 登录 注册       首页 最新文章 经典回顾 开发 设计 IT技术 职场 业界 极客 创业 访谈 在国外 - 导航条 - 首页 最新文章 经典回顾 开发 ...

  4. Canvas+Js制作动量守恒的小球碰撞

    目的:通过js实现小球碰撞并实现动量守恒 canvas我们就不多说了,有用着呢. 我们可以通过canvas画2D图形(圆.方块.三角形等等)3D图形(球体.正方体等待). 当然这只是基础的皮毛而已,c ...

  5. 基于Seajs的可控台球碰撞游戏

    前言 不记得哪个黑色星期五,贪吃鱼基本完工的时候,产品突然增加需求,要求金币扔出去后不消失,互相可碰撞,其最终结果还要由服务器控制(没错,至今做的所有游戏都有幕后黑手,=W=). 对于碰撞以前只写过一 ...

  6. Python和Pygame游戏开发 pdf

    Python和Pygame游戏开发 目录 第1章 安装Python和Pygame 11.1 预备知识 11.2 下载和安装Python 11.3 Windows下的安装说明 11.4 Mac OS X ...

  7. HTML5 Canvas彩色小球碰撞运动特效

    脚本简介 HTML5 Canvas彩色小球碰撞运动特效是一款基于canvas加面向对象制作的运动小球动画特效.   效果展示 http://hovertree.com/texiao/html5/39/ ...

  8. Python计算斗牛游戏的概率

    Python计算斗牛游戏的概率 过年回家,都会约上亲朋好友聚聚会,会上经常会打麻将,斗地主,斗牛.在这些游戏中,斗牛是最受欢迎的,因为可以很多人一起玩,而且没有技术含量,都是看运气(专业术语是概率). ...

  9. Python菜鸟快乐游戏编程_pygame(6)

    Python菜鸟快乐游戏编程_pygame(博主录制,2K分辨率,超高清) https://study.163.com/course/courseMain.htm?courseId=100618802 ...

  10. Python菜鸟快乐游戏编程_pygame(5)

    Python菜鸟快乐游戏编程_pygame(博主录制,2K分辨率,超高清) https://study.163.com/course/courseMain.htm?courseId=100618802 ...

随机推荐

  1. 插件化编程之WebAPI统一返回模型

    WebApi返回数据我们一般包裹在一个公共的模型下面的,而不是直接返回最终数据,在返回参数中,显示出当前请求的时间戳,是否请求成功,如果错误那么错误的消息是什么,状态码(根据业务定义的值)等等.我们常 ...

  2. echarts的使用 超好用的报表制作、数据的图形化展示

    地址链接:https://echarts.apache.org/zh/index.html 1.图形选择 2.对应的js代码

  3. HTML基础知识(1)常用标签的使用 h、p、img、meta、a、iframe...

    文章目录 1.html简介 2.html注释 3.标签的属性 3.1 代码 3.2 测试结果 4.常用的标签 4.1 代码 4.2 测试结果 5.实体 5.1 代码 5.2 测试结果 6.图片引入 6 ...

  4. 什么是齐博/齐博CMS之X1?

    齐博x1:核心+模块+插件+钩子的理念把系统的灵活性及拓展性做到了极致!!!齐博X1是齐博软件基于thinkphp5开发的内容管理系统,拓展性非常强,后台一键升级,后台提供丰富的频道模块云市插件市场. ...

  5. Redis 常见问题-缓存穿透

    问题描述: * 针对 DB 中不存在的数据源,每次请求缓存和数据库都不存在 造成后果: * 应用服务器压力变大 * Redis 命中率大幅度降低 * `数据库压力巨增甚至 down 掉`* 该现象对于 ...

  6. 【多服务场景化解决方案】AR虚拟技术助力智能家装

    ​ 1 .介绍 总览 本应用采用了华为图形引擎服务的AR虚拟技术,您可以在手机相机里摆放想要购置的家具家电,交互式体验让您可以轻松操控它们的3D图例,以此来确定这些家具家电是否适合摆放在您的家里. 特 ...

  7. 学习ASP.NET Core Blazor编程系列九——服务器端校验

    学习ASP.NET Core Blazor编程系列一--综述 学习ASP.NET Core Blazor编程系列二--第一个Blazor应用程序(上) 学习ASP.NET Core Blazor编程系 ...

  8. 常用Linux命令(常年更新)

    Linux后台运行脚本: nohup python -u test.py > out.log 2>&1 & nohup sh **.sh > /dev/null 2& ...

  9. Multi-Channel PCIe QDMA Subsystem

    可交付资料: 详细的用户手册 Design File:Post-synthesis EDIF netlist or RTL Source Timing and layout constraints,T ...

  10. PS2023下载安装保姆级教程中文汉化完整版

    PS2023Windows安装教程退出安全软件①:下载PS2023安装包 ②:打开下载好的文件,鼠标右键把安装包解压③:打开解压好的"PS 24.0.0"文件夹,找到并选中&quo ...