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 Mysql数据库操作 Perl操作Mysql数据库
Jan 12 Python
python基于xml parse实现解析cdatasection数据
Sep 30 Python
详解Python中for循环的使用
Apr 14 Python
python实现下载指定网址所有图片的方法
Aug 08 Python
20招让你的Python飞起来!
Sep 27 Python
Python实现二叉树的最小深度的两种方法
Sep 30 Python
通过字符串导入 Python 模块的方法详解
Oct 27 Python
wxPython窗体拆分布局基础组件
Nov 19 Python
python 实现将list转成字符串,中间用空格隔开
Dec 25 Python
Python *args和**kwargs用法实例解析
Mar 02 Python
自定义实现 PyQt5 下拉复选框 ComboCheckBox的完整代码
Mar 30 Python
idea2020手动安装python插件的实现方法
Jul 17 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数据库示例代码
2014/03/17 PHP
php动态变量定义及使用
2015/06/10 PHP
Javascript 面向对象 继承
2010/05/13 Javascript
使用Java实现简单的server/client回显功能的方法介绍
2013/05/03 Javascript
javascript中String对象的slice()方法分析
2014/12/20 Javascript
探析浏览器执行JavaScript脚本加载与代码执行顺序
2016/01/12 Javascript
JS延时器提示框的应用实例代码解析
2016/04/27 Javascript
Bootstrap学习系列之使用 Bootstrap Typeahead 组件实现百度下拉效果
2016/07/07 Javascript
BootStrap 可编辑表Table格
2016/11/24 Javascript
完美实现js选项卡切换效果(二)
2017/03/08 Javascript
CentOS 安装NodeJS V8.0.0的方法
2017/06/15 NodeJs
JavaScript的Proxy可以做哪些有意思的事儿
2019/06/15 Javascript
vue使用一些外部插件及样式的配置代码
2019/11/18 Javascript
[01:12:53]完美世界DOTA2联赛PWL S2 Forest vs SZ 第一场 11.25
2020/11/26 DOTA
python如何把嵌套列表转变成普通列表
2018/03/20 Python
python3+PyQt5泛型委托详解
2018/04/24 Python
Python初学者需要注意的事项小结(python2与python3)
2018/09/26 Python
python八皇后问题的解决方法
2018/09/27 Python
Python函数生成器原理及使用详解
2020/03/12 Python
使用HTML5捕捉音频与视频信息概述及实例
2018/08/22 HTML / CSS
CAT鞋英国官网:坚固耐用的靴子和鞋
2016/10/21 全球购物
经济实惠的豪华背包和行李袋:Packs Project
2018/10/17 全球购物
房地产销售计划书
2014/01/10 职场文书
电子邮箱格式怎么写
2014/01/12 职场文书
回门宴答谢词
2014/01/13 职场文书
小学生红领巾广播稿
2014/01/21 职场文书
函授自我鉴定范文
2014/02/06 职场文书
《邮票齿孔的故事》教学反思
2014/02/22 职场文书
年度考核自我鉴定
2014/03/19 职场文书
大四学生找工作的自荐信
2014/03/27 职场文书
创建绿色社区汇报材料
2014/08/22 职场文书
综合素质自我评价评语
2015/03/06 职场文书
2016年大学生寒假社会实践心得体会
2015/10/09 职场文书
基于python定位棋子位置及识别棋子颜色
2021/07/26 Python
MySQL的索引你了解吗
2022/03/13 MySQL
Python matplotlib绘制雷达图
2022/04/13 Python