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 探针的实现原理
Apr 23 Python
python append、extend与insert的区别
Oct 13 Python
Python数据结构与算法之使用队列解决小猫钓鱼问题
Dec 14 Python
Tensorflow之构建自己的图片数据集TFrecords的方法
Feb 07 Python
pandas.loc 选取指定列进行操作的实例
May 18 Python
Python global全局变量函数详解
Sep 18 Python
python requests.post带head和body的实例
Jan 02 Python
python使用flask与js进行前后台交互的例子
Jul 19 Python
获取Pytorch中间某一层权重或者特征的例子
Aug 17 Python
如何利用Python matplotlib绘制雷达图
Dec 21 Python
详解python中的异常和文件读写
Jan 03 Python
python用字节处理文件实例讲解
Apr 13 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
正则表达式语法
2006/10/09 Javascript
PHP 字符串操作入门教程
2006/12/06 PHP
php 字符转义 注意事项
2009/05/27 PHP
jQuery Mobile + PHP实现文件上传
2014/12/12 PHP
javascript 隐藏/显示指定的区域附HTML元素【legend】用法
2010/03/05 Javascript
jQuery ajax cache缓存问题
2010/07/01 Javascript
用jquery实现的模拟QQ邮箱里的收件人选取及其他效果(一)
2011/01/06 Javascript
基于jquery的内容循环滚动小模块(仿新浪微博未登录首页滚动微博显示)
2011/03/28 Javascript
js获取某元素的class里面的css属性值代码
2014/01/16 Javascript
javascript实现一个数值加法函数
2015/06/26 Javascript
JavaScript获取各大浏览器信息图示
2015/11/20 Javascript
NodeJS创建基础应用并应用模板引擎
2016/04/12 NodeJs
Javascript之Math对象详解
2016/06/07 Javascript
总结JavaScript的正则与其他语言的不同之处
2016/08/25 Javascript
AngularJS 所有版本下载地址
2016/09/14 Javascript
JS获取IE版本号与HTML设置IE文档模式的方法
2016/10/09 Javascript
微信小程序中input标签详解及简单实例
2017/05/18 Javascript
Ionic3 UI组件之autocomplete详解
2017/06/08 Javascript
一个简易时钟效果js实现代码
2020/03/25 Javascript
angular中ui calendar的一些使用心得(推荐)
2017/11/03 Javascript
微信小程序上传图片实例
2018/05/28 Javascript
JavaScript实用代码小技巧
2018/08/23 Javascript
webpack + vue 打包生成公共配置文件(域名) 方便动态修改
2019/08/29 Javascript
通过vue.extend实现消息提示弹框的方法记录
2021/01/07 Vue.js
Python3读取zip文件信息的方法
2015/05/22 Python
Python中的复制操作及copy模块中的浅拷贝与深拷贝方法
2016/07/02 Python
Flask框架踩坑之ajax跨域请求实现
2019/02/22 Python
Windows系统Python直接调用C++ DLL的方法
2019/08/01 Python
定义一结构体变量,用其表示点坐标,并输入两点坐标,求两点之间的距离
2015/08/17 面试题
教师实习自我鉴定
2013/12/18 职场文书
导游实习生自荐书
2014/01/28 职场文书
单位委托书怎么写
2014/08/02 职场文书
民主生活会发言材料
2014/10/20 职场文书
2014年保育员工作总结
2014/12/02 职场文书
Django项目如何正确配置日志(logging)
2021/04/29 Python
PostgreSQL通过oracle_fdw访问Oracle数据的实现步骤
2021/05/21 PostgreSQL