python3 pygame实现接小球游戏


Posted in Python onMay 14, 2019

本文实例为大家分享了python3 pygame接小球游戏的具体代码,供大家参考,具体内容如下

操作方法:鼠标操作

截图:

python3 pygame实现接小球游戏

python3 pygame实现接小球游戏

直接放代码:

# -*- coding:utf-8 -*-
import sys,pygame,random #导入库
from pygame.locals import *
 
def print_text(font,x,y,text,color=(255,255,255)):
 imgText = font.render(text,True,color) # 创建字体,三个参数是文本.抗锯齿.颜色
 screen.blit(imgText,(x,y)) #built screen 创建文本窗口
 
pygame.init() #init 初始化
 
#窗口设置
screen = pygame.display.set_mode((600,500))#screen-size 窗口大小设置
pygame.display.set_caption('BallFall') #title 窗口标题
font1 = pygame.font.Font(None,24) #font,size 字体类型(None为pygame默认字体).字体大小
pygame.mouse.set_visible(False) #mouse-visible 光标可视
 
#颜色设置
white = 255,255,255 #rgb 
red = 220,50,50
yellow = 230,230,50
blue = 0,0,100
 
#计数设置
lives = 3 #初始生命
score = 0 #初始分数
 
#初始化设置
game_over = True #游戏结束判断
mouse_x = mouse_y = 0 #光标初始化
pos_x = 300 #挡板位置初始化
pos_y = 460 
bomb_x = random.randint(0,500) #小球位置随机初始化
bomb_y = -50 #小球下落高度初始化
vel_y = 0.3 #小球下落速度
 
while True:
 for event in pygame.event.get(): #事件判断
 if event.type == QUIT:
 pygame.quit()
 sys.exit()
 elif event.type == MOUSEMOTION: #鼠标运动
 mouse_x,mouse_y = event.pos 
 elif event.type == MOUSEBUTTONUP: #鼠标抬起
 if game_over:
 game_over = False
 lives = 3
 score = 0
 
 keys = pygame.key.get_pressed() #获取键盘
 if keys[K_ESCAPE]: #键盘右上角esc键
 pygame.quit()
 sys.exit()
 
 screen.fill(blue) #背景颜色
 
 if game_over:
 print_text(font1,100,200,'click to play')
 else: #判断小球运行轨迹
 bomb_y += vel_y
 if bomb_y > 500: #fallen
 bomb_x = random.randint(0,500) #小球随机出现
 bomb_y = -50
 lives -= 1
 if lives == 0:
 game_over = True
 elif bomb_y > pos_y:
 if bomb_x > pos_x and bomb_x < pos_x + 120:
 score += 1
 bomb_x = random.randint(0,500)
 bomb_y = -50 
 
 pygame.draw.circle(screen,yellow,(bomb_x,int(bomb_y)),30,0) #绘制圆形 五个参数为屏幕.颜色.位置.实心半径.空心半径
 
 pos_x = mouse_x #挡板位置变化设置
 if pos_x < 0:
 pos_x = 0
 elif pos_x > 500:
 pos_x = 500
 
 pygame.draw.rect(screen,red,(pos_x,pos_y,120,40),0) #绘制矩形 参数跟圆形一样
 
 print_text(font1,0,0,'Lives:' + str(lives)) #文字显示
 print_text(font1,500,0,'Score:' + str(score))
 
 pygame.display.update() #更新

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python isinstance判断对象类型
Sep 06 Python
巧用Python装饰器 免去调用父类构造函数的麻烦
May 18 Python
python各种语言间时间的转化实现代码
Mar 23 Python
python中找出numpy array数组的最值及其索引方法
Apr 17 Python
python实现诗歌游戏(类继承)
Feb 26 Python
Python操作Mongodb数据库的方法小结
Sep 10 Python
解决python使用list()时总是报错的问题
May 05 Python
详解pyinstaller生成exe的闪退问题解决方案
Jun 19 Python
Selenium python时间控件输入问题解决方案
Jul 22 Python
基于PyTorch实现一个简单的CNN图像分类器
May 29 Python
详解非极大值抑制算法之Python实现
Jun 28 Python
OpenCV 图像梯度的实现方法
Jul 25 Python
Django 多环境配置详解
May 14 #Python
python仿evething的文件搜索器实例代码
May 13 #Python
python爬虫租房信息在地图上显示的方法
May 13 #Python
详解如何设置Python环境变量?
May 13 #Python
详解python运行三种方式
May 13 #Python
OpenCV图像颜色反转算法详解
May 13 #Python
搞清楚 Python traceback的具体使用方法
May 13 #Python
You might like
初级的用php写的采集程序
2007/03/16 PHP
解析php根据ip查询所在地区(非常有用,赶集网就用到)
2013/07/01 PHP
在PHP中运行Linux命令并启动SSH服务的例子
2014/06/12 PHP
ThinkPHP2.x防范XSS跨站攻击的方法
2015/09/25 PHP
PHP实现浏览器中直接输出图片的方法示例
2018/03/14 PHP
php+websocket 实现的聊天室功能详解
2020/05/27 PHP
ff下JQuery无法监听input的keyup事件的解决方法
2013/12/12 Javascript
jquery搜索框效果实现方法
2015/01/16 Javascript
JQuery实现超链接鼠标提示效果的方法
2015/06/10 Javascript
标准的js无缝滚动效果
2016/08/30 Javascript
详解Vue自定义过滤器的实现
2017/01/10 Javascript
十大热门的JavaScript框架和库
2017/03/21 Javascript
nodejs同步调用获取mysql数据时遇到的大坑
2019/03/02 NodeJs
解决layui的form里的元素进行动态生成,验证失效的问题
2019/09/14 Javascript
Python闭包实现计数器的方法
2015/05/05 Python
Python基于动态规划算法解决01背包问题实例
2017/12/06 Python
Python字符串拼接六种方法介绍
2017/12/18 Python
对python sklearn one-hot编码详解
2018/07/10 Python
python使用flask与js进行前后台交互的例子
2019/07/19 Python
深入浅析Python科学计算库Scipy及安装步骤
2019/10/12 Python
如何在python开发工具PyCharm中搭建QtPy环境(教程详解)
2020/02/04 Python
tensorflow 获取checkpoint中的变量列表实例
2020/02/11 Python
Pytorch实现将模型的所有参数的梯度清0
2020/06/24 Python
工程师必须了解的LRU缓存淘汰算法以及python实现过程
2020/10/15 Python
在线购买廉价折扣书籍和小说:BookOutlet.com
2018/02/19 全球购物
牵手50台湾:专为黄金岁月的单身人士而设的交友网站
2021/02/18 全球购物
Java提供了哪些企业应用编程接口
2015/02/13 面试题
在C#中如何实现多态
2014/07/02 面试题
创业计划书撰写原则
2014/01/25 职场文书
电台实习生求职信
2014/02/25 职场文书
物流管理专业毕业生自荐信
2014/03/04 职场文书
竞选学生会演讲稿
2014/04/25 职场文书
银行金融服务方案
2014/06/11 职场文书
网吧七夕活动策划方案
2014/08/31 职场文书
2014年仓库管理员工作总结
2014/11/18 职场文书
小学六一儿童节活动总结
2015/05/05 职场文书