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函数学习笔记
Oct 07 Python
easy_install python包安装管理工具介绍
Feb 10 Python
python连接mysql并提交mysql事务示例
Mar 05 Python
Python中if __name__ == &quot;__main__&quot;详细解释
Oct 21 Python
Python学习思维导图(必看篇)
Jun 26 Python
Anaconda2 5.2.0安装使用图文教程
Sep 19 Python
对DataFrame数据中的重复行,利用groupby累加合并的方法详解
Jan 30 Python
Python爬取腾讯视频评论的思路详解
Dec 19 Python
Python基础之变量基本用法与进阶详解
Jan 03 Python
Python字符编码转码之GBK,UTF8互转
Feb 09 Python
使用python-pptx包批量修改ppt格式的实现
Feb 14 Python
Django中F函数的使用示例代码详解
Jul 06 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按百分比生成缩略图的代码分享
2014/05/10 PHP
zen cart实现订单中增加paypal中预留电话的方法
2016/07/12 PHP
PHP按符号截取字符串的指定部分的实现方法
2018/09/10 PHP
JavaScript为对象原型prototype添加属性的两种方式
2010/08/01 Javascript
javascript 函数及作用域总结介绍
2013/11/12 Javascript
js清除input中type等于file的值域(示例代码)
2013/12/24 Javascript
js中继承的几种用法总结(apply,call,prototype)
2013/12/26 Javascript
Javascript基础教程之函数对象和属性
2015/01/18 Javascript
JavaScript类继承及实例化的方法
2015/07/25 Javascript
同步文本框内容JS代码实现
2016/08/04 Javascript
禁用backspace网页回退功能的实现代码
2016/11/15 Javascript
jQuery-mobile事件监听与用法详解
2016/11/23 Javascript
Vuex简单入门
2017/04/19 Javascript
js+html5实现半透明遮罩层弹框效果
2020/08/24 Javascript
Vue.js分页组件实现:diVuePagination的使用详解
2018/01/10 Javascript
ES6 迭代器(Iterator)和 for.of循环使用方法学习(总结)
2018/02/08 Javascript
Vue.js添加组件操作示例
2018/06/13 Javascript
javascript中的offsetWidth、clientWidth、innerWidth及相关属性方法
2020/05/14 Javascript
Python使用中文正则表达式匹配指定中文字符串的方法示例
2017/01/20 Python
详解Python的循环结构知识点
2019/05/20 Python
Django中如何使用sass的方法步骤
2019/07/09 Python
基于Django的乐观锁与悲观锁解决订单并发问题详解
2019/07/31 Python
用Python 执行cmd命令
2020/12/18 Python
世界上最悠久的自行车制造商:Ribble Cycles
2017/03/18 全球购物
KIEHL’S科颜氏官方旗舰店:源自美国的顶级护肤品牌
2018/06/07 全球购物
英国汽车零件购物网站:GSF Car Parts
2019/05/23 全球购物
用Java语言将一个键盘输入的数字转化成中文输出
2013/01/25 面试题
歌唱比赛主持词
2014/03/18 职场文书
有子女的离婚协议书怎么写(范本)
2014/09/29 职场文书
2015年学生会个人工作总结
2015/04/09 职场文书
未中标通知书
2015/04/17 职场文书
2015年话务员工作总结
2015/04/29 职场文书
反腐倡廉观后感
2015/06/08 职场文书
勤俭节约主题班会
2015/08/13 职场文书
Python 流媒体播放器的实现(基于VLC)
2021/04/28 Python