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中signal包的使用
Nov 13 Python
Windows上使用virtualenv搭建Python+Flask开发环境
Jun 07 Python
详解Python3.6安装psutil模块和功能简介
May 30 Python
使用python进行拆分大文件的方法
Dec 10 Python
python正则表达式匹配[]中间为任意字符的实例
Dec 25 Python
python能做什么 python的含义
Oct 12 Python
python中栈的原理及实现方法示例
Nov 27 Python
keras 自定义loss损失函数,sample在loss上的加权和metric详解
May 23 Python
tensorflow 2.1.0 安装与实战教程(CASIA FACE v5)
Jun 30 Python
python三引号如何输入
Jul 06 Python
Pycharm连接gitlab实现过程图解
Sep 01 Python
关于Python OS模块常用文件/目录函数详解
Jul 01 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目录导航文件代码
2006/10/09 PHP
php安全之直接用$获取值而不$_GET 字符转义
2012/06/03 PHP
利用php递归实现无限分类 格式化数组的详解
2013/06/08 PHP
php计划任务之ignore_user_abort函数实现方法
2015/01/08 PHP
Laravel 5 学习笔记
2015/03/06 PHP
php 微信公众平台开发模式实现多客服的实例代码
2016/11/07 PHP
PHP实现微信图片上传到服务器的方法示例
2017/06/29 PHP
PHP-FPM和Nginx的通信机制详解
2019/02/01 PHP
Javascript图像处理—平滑处理实现原理
2012/12/28 Javascript
firefox浏览器不支持innerText的解决方法
2013/08/07 Javascript
KnockoutJs快速入门教程
2016/05/16 Javascript
jQuery Mobile 触摸事件实例
2016/06/04 Javascript
Bootstrap和Angularjs配合自制弹框的实例代码
2016/08/24 Javascript
Node.js用readline模块实现输入输出
2016/12/16 Javascript
jquery对象与DOM对象转化
2017/02/08 Javascript
JS实现多级菜单中当前菜单不随页面跳转样式而发生变化
2017/05/30 Javascript
利用原生的JavaScript实现简单拼图游戏
2018/11/18 Javascript
微信小程序开发实现的IP地址查询功能示例
2019/03/28 Javascript
[02:36]DOTA2英雄基础教程 一击致命幻影刺客
2013/12/06 DOTA
[01:22:19]EG vs TNC Supermajor小组赛B组败者组第一轮 BO3 第二场 6.2
2018/06/03 DOTA
在Python中使用异步Socket编程性能测试
2014/06/25 Python
python调用OpenCV实现人脸识别功能
2018/05/25 Python
python读取xlsx的方法
2018/12/25 Python
Python中时间datetime的处理与转换用法总结
2019/02/18 Python
python学习--使用QQ邮箱发送邮件代码实例
2019/04/16 Python
python连接mongodb集群方法详解
2020/02/13 Python
Keras SGD 随机梯度下降优化器参数设置方式
2020/06/19 Python
荷兰在线钓鱼商店:Raven
2019/06/26 全球购物
车间调度岗位职责
2013/11/30 职场文书
小学优秀班集体申报材料
2014/05/25 职场文书
医院标语大全
2014/06/23 职场文书
俄语专业毕业生求职信
2014/07/12 职场文书
2014党员自我评议表范文
2014/09/20 职场文书
诉讼授权委托书范本
2014/10/05 职场文书
二手车转让协议书
2015/01/29 职场文书
《桂花雨》教学反思
2016/02/19 职场文书