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爬取APP下载链接的实现方法
Sep 30 Python
pandas 对series和dataframe进行排序的实例
Jun 09 Python
Python hashlib模块用法实例分析
Jun 12 Python
python实现随机漫步算法
Aug 27 Python
python实现简单日期工具类
Apr 24 Python
python中字典按键或键值排序的实现代码
Aug 27 Python
python生成器用法实例详解
Nov 22 Python
python opencv实现信用卡的数字识别
Jan 12 Python
python实现将字符串中的数字提取出来然后求和
Apr 02 Python
python代数式括号有效性检验示例代码
Oct 04 Python
Python中使用ipython的详细教程
Jun 22 Python
Python日志模块logging用法
Jun 05 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程序员必须清楚的问题汇总
2014/12/18 PHP
JavaScript DOM学习第八章 表单错误提示
2010/02/19 Javascript
JavaScript基础语法让人疑惑的地方小结
2012/05/23 Javascript
JavaScript window.document的属性、方法和事件小结
2012/10/24 Javascript
Javascript中产生固定结果的函数优化技巧
2013/01/16 Javascript
jquery实现多级下拉菜单的实例代码
2013/10/02 Javascript
提取jquery的ready()方法单独使用示例
2014/03/25 Javascript
基于jquery和svg实现超炫酷的动画特效
2014/12/09 Javascript
AngularJS 模型详细介绍及实例代码
2016/07/27 Javascript
Angularjs 实现分页功能及示例代码
2016/09/14 Javascript
详解Js模板引擎(TrimPath)
2016/11/22 Javascript
Vue.js系列之vue-router(上)(3)
2017/01/03 Javascript
基于JavaScript实现熔岩灯效果导航菜单
2017/01/04 Javascript
vue-router 组件复用问题详解
2018/01/22 Javascript
快速解决bootstrap下拉菜单无法隐藏的问题
2018/08/10 Javascript
ES6 迭代器与可迭代对象的实现
2019/02/11 Javascript
JS事件绑定的常用方式实例总结
2019/03/02 Javascript
深入解析Vue源码实例挂载与编译流程实现思路详解
2019/05/05 Javascript
js实现文字头像的生成代码
2020/03/07 Javascript
[04:32]DOTA2著名解说配音敌法师 现场专访海涛怒切假腿
2013/12/20 DOTA
[37:02]OG vs INfamous 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
Python简单实现子网掩码转换的方法
2016/04/13 Python
快速查询Python文档方法分享
2017/12/27 Python
python 并发编程 非阻塞IO模型原理解析
2019/08/20 Python
python pandas.DataFrame.loc函数使用详解
2020/03/26 Python
html5 input元素新特性_动力节点Java学院整理
2017/07/06 HTML / CSS
机修工岗位职责
2013/11/24 职场文书
2013年研究生毕业感言
2014/02/06 职场文书
共产党员承诺书
2014/03/25 职场文书
公司捐款倡议书
2014/05/14 职场文书
债务授权委托书范本
2014/10/17 职场文书
2014年惩防体系建设工作总结
2014/12/01 职场文书
学生自我评语
2015/01/04 职场文书
公司承诺函范文
2015/01/21 职场文书
教师节老师寄语
2015/05/28 职场文书
python中如何对多变量连续赋值
2021/06/03 Python