python 小球碰撞游戏
#小球和挡板要自己找照片,放在一个单独文件夹,音乐也是一样的
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 小球碰撞游戏的更多相关文章
- js实现小球碰撞游戏
效果图: 效果图消失只是截的gif图的问题 源码: <!DOCTYPE html> <html lang="en"> <head> <m ...
- 【h5游戏开发】egret引擎p2物理引擎 - 小球碰撞地面搞笑的物理现象
重力的方向和地面的问题 p2中默认的方向是从上到下,如果重力默认是正数的话,物体放到世界中是会从上面往下面飘的 p2中plane地面默认的方向是y轴的方向,而在p2中y轴的方向默认是从上往下 首先来看 ...
- 12岁的少年教你用Python做小游戏
首页 资讯 文章 频道 资源 小组 相亲 登录 注册 首页 最新文章 经典回顾 开发 设计 IT技术 职场 业界 极客 创业 访谈 在国外 - 导航条 - 首页 最新文章 经典回顾 开发 ...
- Canvas+Js制作动量守恒的小球碰撞
目的:通过js实现小球碰撞并实现动量守恒 canvas我们就不多说了,有用着呢. 我们可以通过canvas画2D图形(圆.方块.三角形等等)3D图形(球体.正方体等待). 当然这只是基础的皮毛而已,c ...
- 基于Seajs的可控台球碰撞游戏
前言 不记得哪个黑色星期五,贪吃鱼基本完工的时候,产品突然增加需求,要求金币扔出去后不消失,互相可碰撞,其最终结果还要由服务器控制(没错,至今做的所有游戏都有幕后黑手,=W=). 对于碰撞以前只写过一 ...
- Python和Pygame游戏开发 pdf
Python和Pygame游戏开发 目录 第1章 安装Python和Pygame 11.1 预备知识 11.2 下载和安装Python 11.3 Windows下的安装说明 11.4 Mac OS X ...
- HTML5 Canvas彩色小球碰撞运动特效
脚本简介 HTML5 Canvas彩色小球碰撞运动特效是一款基于canvas加面向对象制作的运动小球动画特效. 效果展示 http://hovertree.com/texiao/html5/39/ ...
- Python计算斗牛游戏的概率
Python计算斗牛游戏的概率 过年回家,都会约上亲朋好友聚聚会,会上经常会打麻将,斗地主,斗牛.在这些游戏中,斗牛是最受欢迎的,因为可以很多人一起玩,而且没有技术含量,都是看运气(专业术语是概率). ...
- Python菜鸟快乐游戏编程_pygame(6)
Python菜鸟快乐游戏编程_pygame(博主录制,2K分辨率,超高清) https://study.163.com/course/courseMain.htm?courseId=100618802 ...
- Python菜鸟快乐游戏编程_pygame(5)
Python菜鸟快乐游戏编程_pygame(博主录制,2K分辨率,超高清) https://study.163.com/course/courseMain.htm?courseId=100618802 ...
随机推荐
- 初等数论学习笔记 III:数论函数与筛法
初等数论学习笔记 I:同余相关. 初等数论学习笔记 II:分解质因数. 1. 数论函数 本篇笔记所有内容均与数论函数相关.因此充分了解各种数论函数的名称,定义,符号和性质是必要的. 1.1 相关定义 ...
- POJ2763 Housewife Wind (树链剖分)
差不多是模板题,不过要注意将边权转化为点权,将边的权值赋给它所连的深度较大的点. 这样操作过后,注意查询ask()的代码有所改变(见代码注释) 1 #include<cstdio> 2 # ...
- GMOJ5673 爬山法 题解
Solution 显然先想到处理出每个点能看到的最高的顶点. 然后考虑模拟题目的过程,一段一段走时间复杂度显然不够优秀. 考虑我们要求什么,我们需要求出\(u\)到\(v\)的最近的一个点,使得这个点 ...
- OCI runtime exec failed: exec failed: unable to start container process: exec: "mongo": executable file not found in $PATH: unknown
前言: 今天按照以往在Docker安装MongoDB的方式安装,但是到最后使用mongo命令执行mongodb命令的时候一直执行不成功,最后还是按照官网的Issues解决了. 创建并运行一个Mongo ...
- 如何实现通过Leaflet加载dwg格式的CAD图
前言 在前面介绍了通过openlayers加载dwg格式的CAD图并与互联网地图叠加,openlayers功能很全面,但同时也很庞大,入门比较难,适合于大中型项目中.而在中小型项目中,一般用开源的 ...
- 动词时态=>1.动作的时间和状态
时态 什么是时态? 英语的时态,是由动作的时间 + 动作的状态:这俩一起构成了时态 动词的时间和状态在一起,合称时态 理论上的十六种时态 先将 时间和状态的概念搞清楚,再具体讨论,用什么词,去构成时态 ...
- 海思3516系列芯片SPI速率慢问题深入分析与优化(基于PL022 SPI 控制器)
海思3516系列芯片SPI速率慢问题深入分析与优化(基于PL022 SPI 控制器) 我在某个海思主控的项目中需要使用SPI接口来驱动一块液晶屏,液晶屏主控为 st7789,分辨率 240x240,图 ...
- 学习笔记之——C语言 函数
采用函数的原因: 随着程序规模的变大,产生了以下问题: --main函数变得相当冗杂 --程序复杂度不断提高 --代码前后关联度提高,修改代码往往牵一发而动全身 --变量使用过多,命名都成了问题 -- ...
- go基础语法50问,来看看你的go基础合格了吗?
目录 1.使用值为 nil 的 slice.map会发生啥 2.访问 map 中的 key,需要注意啥 3.string 类型的值可以修改吗 4.switch 中如何强制执行下一个 case 代码块 ...
- Java 编码那些事(二)
建议先阅读:Java 编码那些事(一) 现在说说编码在Java中的实际运用.在使用tomcat的时候,绝大部分同学都会遇到乱码的问题,查查文档,google一下解决方案啥的,都是设置这里,设置那里,或 ...