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写xml文件的操作实例
Oct 05 Python
python数据清洗系列之字符串处理详解
Feb 12 Python
python入门教程 python入门神图一张
Mar 05 Python
解决安装python库时windows error5 报错的问题
Oct 21 Python
Python写出新冠状病毒确诊人数地图的方法
Feb 12 Python
jupyter notebook实现显示行号
Apr 13 Python
解决IDEA 的 plugins 搜不到任何的插件问题
May 04 Python
Python3自定义json逐层解析器代码
May 11 Python
Django form表单与请求的生命周期步骤详解
Jun 07 Python
Python 如何定义匿名或内联函数
Aug 01 Python
python eventlet绿化和patch原理
Nov 21 Python
利用python实时刷新基金估值(摸鱼小工具)
Sep 15 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判断输入不超过mysql的varchar字段的长度范围
2011/06/24 PHP
采用PHP函数memory_get_usage获取PHP内存清耗量的方法
2011/12/06 PHP
destoon会员注册提示“数据校验失败(2)”解决方法
2014/06/21 PHP
php格式文件打开的四种方法
2018/02/24 PHP
PHP面向对象五大原则之单一职责原则(SRP)详解
2018/04/04 PHP
关于php开启错误提示的总结
2019/09/24 PHP
javascript web对话框与弹出窗口
2009/02/22 Javascript
jquery $.each 和for怎么跳出循环终止本次循环
2013/09/27 Javascript
jquery获取URL中参数解决中文乱码问题的两种方法
2013/12/18 Javascript
JQuery中的事件及动画用法实例
2015/01/26 Javascript
Windows系统下使用Sublime搭建nodejs环境
2015/04/13 NodeJs
Angular实现form自动布局
2016/01/28 Javascript
Angularjs整合微信UI(weui)
2016/03/15 Javascript
Bootstrap3制作图片轮播效果
2016/05/12 Javascript
BootStrap点击下拉菜单项后显示一个新的输入框实现代码
2016/05/16 Javascript
jQuery简单自定义图片轮播插件及用法示例
2016/11/21 Javascript
Vue仿手机qq的实例代码(demo)
2017/09/08 Javascript
微信小程序数据统计和错误统计的实现方法
2019/06/26 Javascript
对Python2与Python3中__bool__方法的差异详解
2018/11/01 Python
python虚拟环境的安装和配置(virtualenv,virtualenvwrapper)
2019/08/09 Python
python如何写try语句
2020/07/14 Python
Python爬虫之Selenium实现键盘事件
2020/12/04 Python
Html5画布_动力节点Java学院整理
2017/07/13 HTML / CSS
GAP阿联酋官网:GAP UAE
2017/11/30 全球购物
企业文化理念标语
2014/06/10 职场文书
公司授权委托书
2014/10/17 职场文书
小学优秀教师材料
2014/12/15 职场文书
党小组考察意见
2015/06/02 职场文书
休学证明范本
2015/06/19 职场文书
读书笔记格式
2015/07/02 职场文书
解析Redis Cluster原理
2021/06/21 Redis
JavaScript与JQuery框架基础入门教程
2021/07/15 Javascript
Python pandas之求和运算和非空值个数统计
2021/08/07 Python
Go 通过结构struct实现接口interface的问题
2021/10/05 Golang
VUE之图片Base64编码使用ElementUI组件上传
2022/04/09 Vue.js
Tomcat安装使用及部署Web项目的3种方法汇总
2022/08/14 Servers