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 ...
随机推荐
- sql 中HAVING函数
select * from <表名> group by<过滤的数据> having <晒选的列名>=<条件> 例 select * from villa ...
- C语言实现扫雷游戏(完整版)
头文件定义.函数声明 下面就是扫雷中使用到的所有函数,为了省事我把所有的代码都放在一个C文件中实现 宏定义中设置了游戏的界面布局,以及设置地雷的个数(这里默认的是10个地雷),界面是一个9*9的方格布 ...
- MYSQL创建分区时候报错
第一种:ERROR 1064 (42000): Partitioning can not be used stand-alone in query near 不能单独创建分区.创建分区时要创建分区表 ...
- JUC(4)Callable和常用的辅助类
1.Callable 1.可以有返回值 2.可以抛出异常 3.方法不同.run()/call() future Task 细节: 1.有缓存 2.结果可能需要等待,会阻塞 2.常用的辅助类 2.1 C ...
- 六、dockerfile
一.什么是镜像 镜像可以看成是由多个镜像层叠加起来的一个文件系统(通过UnionFS与AUFS文件联合系统实现),镜像层也可以简单理解为一个基本的镜像,而每个镜像层之间通过指针的形式进行叠加. 根据上 ...
- 类的编写模板之简单Java类
简单Java类是初学java时的一个重要的类模型,一般由属性和getter.setter方法组成,该类不涉及复杂的逻辑运算,仅仅是作为数据的储存,同时该类一般都有明确的实物类型.如:定义一个雇员的类, ...
- Codeforces Round #802 (Div. 2)C. Helping the Nature(差分)
题目链接 题目大意: 给你一个有n个元素的数组a,你可以通过一下三种操作使数组的每一个值都为0: 选择一个下标i,然后让a[1],a[2]....a[ i ] 都减一; 选择一个下标i,然后让a[i] ...
- java反序列化漏洞cc_link_one
CC-LINK-one 前言 这里也正式进入的java的反序列化漏洞了,简单介绍一下CC是什么借用一些官方的解释:Apache Commons是Apache软件基金会的项目,曾经隶属于Jakarta项 ...
- day17-Servlet06
Servlet06 15.HttpServletResponse 15.1HttpServletResponse介绍 每次HTTP请求,Tomcat都会创建一个HttpServletResponse对 ...
- RabbitMq消息手动应答、放回队列重新消费、设置队列消息持久化、分发模式
RabbitMq消息手动应答,放回队列重新消费,设置队列消息持久化 消息应答 概念 消费者完成一个任务可能需要一段时间,如果其中一个消费者处理一个长的任务并仅只完成了部分突然它挂掉了,会发生什么情况. ...