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闭包及其作用域详解
Aug 28 Python
Python批量更改文件名的实现方法
Oct 29 Python
Python实现1-9数组形成的结果为100的所有运算式的示例
Nov 03 Python
python实现校园网自动登录的示例讲解
Apr 22 Python
使用python编写udp协议的ping程序方法
Apr 22 Python
利用Python+阿里云实现DDNS动态域名解析的方法
Apr 01 Python
Python3.5面向对象与继承图文实例详解
Apr 24 Python
python基于itchat模块实现微信防撤回
Apr 29 Python
python multiprocessing多进程变量共享与加锁的实现
Oct 02 Python
如何解决django-celery启动后迅速关闭
Oct 16 Python
keras实现基于孪生网络的图片相似度计算方式
Jun 11 Python
python简单实现插入排序实例代码
Dec 16 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
《APMServ 5.1.2》使用图解
2006/10/23 PHP
php实现执行某一操作时弹出确认、取消对话框
2013/12/30 PHP
php通过隐藏表单控件获取到前两个页面的url
2014/09/09 PHP
php+mysqli批量查询多张表数据的方法
2015/01/29 PHP
yii2中添加验证码的实现方法
2016/01/09 PHP
从ThinkPHP3.2.3过渡到ThinkPHP5.0学习笔记图文详解
2019/04/03 PHP
php进行md5加密简单实例方法
2019/09/19 PHP
jquery 新浪网易的评论块制作
2010/07/01 Javascript
基于JavaScript 数据类型之Boolean类型分析介绍
2013/04/19 Javascript
javascript中数组的sort()方法的使用介绍
2013/12/18 Javascript
JavaScript实现网页截图功能
2014/10/16 Javascript
JS实现很酷的EMAIL地址添加功能实例
2015/02/28 Javascript
jQuery实现checkbox列表的全选、反选功能
2016/11/24 Javascript
JQuery实现动态操作表格
2017/01/11 Javascript
微信小程序 开发MAP(地图)实例详解
2017/06/27 Javascript
Vue.js实例方法之生命周期详解
2017/07/03 Javascript
使用nodejs+express实现简单的文件上传功能
2017/12/27 NodeJs
vue中使用WX-JSSDK的两种方法(推荐)
2020/01/18 Javascript
浅谈Ant Design Pro 菜单自定义 icon
2020/11/17 Javascript
深入解析Python中的descriptor描述器的作用及用法
2016/06/27 Python
python读取有密码的zip压缩文件实例
2019/02/08 Python
Python绘图Matplotlib之坐标轴及刻度总结
2019/06/28 Python
python数组循环处理方法
2019/08/26 Python
logging level级别介绍
2020/02/21 Python
python 实现简易的记事本
2020/11/30 Python
python之openpyxl模块的安装和基本用法(excel管理)
2021/02/03 Python
HTML5教程之html 5 本地数据库(Web Sql Database)
2014/04/03 HTML / CSS
HTML5调用手机发短信和打电话功能
2020/04/29 HTML / CSS
玖熙女鞋美国官网:Nine West
2016/10/06 全球购物
2014庆六一活动方案
2014/03/02 职场文书
党员入党表决心的话
2014/03/11 职场文书
2014旅游局领导班子四风问题对照检查材料思想汇报
2014/09/19 职场文书
优秀班集体事迹材料
2014/12/25 职场文书
辛亥革命观后感
2015/06/02 职场文书
订货会主持词
2015/07/01 职场文书
手把手教你用SpringBoot将文件打包成zip存放或导出
2021/06/11 Java/Android