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 相关文章推荐
centos下更新Python版本的步骤
Feb 12 Python
python局域网ip扫描示例分享
Apr 03 Python
python实现简单ftp客户端的方法
Jun 28 Python
Python中文分词工具之结巴分词用法实例总结【经典案例】
Apr 15 Python
对pandas数据判断是否为NaN值的方法详解
Nov 06 Python
Python+OpenCV感兴趣区域ROI提取方法
Jan 10 Python
python 根据字典的键值进行排序的方法
Jul 24 Python
关于pycharm中pip版本10.0无法使用的解决办法
Oct 10 Python
Python Gluon参数和模块命名操作教程
Dec 18 Python
Idea安装python显示无SDK问题解决方案
Aug 12 Python
Python生成pdf目录书签的实例方法
Oct 29 Python
python 如何停止一个死循环的线程
Nov 24 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
ThinkPHP使用心得分享-分页类Page的用法
2014/05/15 PHP
php.ini中的request_order推荐设置
2015/05/10 PHP
Laravel中如何轻松容易的输出完整的SQL语句
2020/07/26 PHP
[推荐]javascript 面向对象技术基础教程
2009/03/03 Javascript
jQuery中ajax的使用与缓存问题的解决方法
2013/12/19 Javascript
点击显示指定元素隐藏其他同辈元素的方法
2014/02/19 Javascript
分享两个手机访问pc网站自动跳转手机端网站代码
2020/12/24 Javascript
jQuery中toggle()函数的使用实例
2015/04/17 Javascript
jQuery插件Timelinr 实现时间轴特效
2015/10/04 Javascript
一个例子轻松学会Vue.js
2017/01/02 Javascript
微信小程序-横向滑动scroll-view隐藏滚动条
2017/04/20 Javascript
vue 实现复制内容到粘贴板clipboard的方法
2018/03/17 Javascript
移动端H5页面返回并刷新页面(BFcache)的方法
2018/11/06 Javascript
解析vue、angular深度作用选择器
2019/09/11 Javascript
vue cli3 调用百度翻译API翻译页面的实现示例
2019/09/13 Javascript
[50:11]2018DOTA2亚洲邀请赛 4.7总决赛 LGD vs Mineski 第三场
2018/04/09 DOTA
深入flask之异步非堵塞实现代码示例
2018/07/31 Python
pyqt远程批量执行Linux命令程序的方法
2019/02/14 Python
python实现诗歌游戏(类继承)
2019/02/26 Python
Python生成MD5值的两种方法实例分析
2019/04/26 Python
详解Pycharm出现out of memory的终极解决方法
2020/03/03 Python
Django自定义列表 models字段显示方式
2020/04/03 Python
使用Python实现批量ping操作方法
2020/05/06 Python
Sisley法国希思黎中国官网:享誉全球的奢华植物美容品牌
2019/06/30 全球购物
日语专业推荐信
2013/11/12 职场文书
护士毕业生自荐信
2014/02/07 职场文书
实验教师岗位职责
2014/02/13 职场文书
学生党员公开承诺书
2014/05/28 职场文书
素质教育标语
2014/06/27 职场文书
甘南现象心得体会
2014/09/11 职场文书
雨花台导游词
2015/02/06 职场文书
老人与海读书笔记
2015/06/26 职场文书
了解Redis常见应用场景
2021/06/23 Redis
Redis源码阅读:Redis字符串SDS详解
2021/07/15 Redis
python编程实现清理微信重复缓存文件
2021/11/01 Python
Redis+AOP+自定义注解实现限流
2022/06/28 Redis