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中的多重继承实例讲解
Sep 28 Python
python logging类库使用例子
Nov 22 Python
Python判断文件或文件夹是否存在的三种方法
Jul 27 Python
Python正则捕获操作示例
Aug 19 Python
Python爬取十篇新闻统计TF-IDF
Jan 03 Python
Python使用cx_Oracle模块操作Oracle数据库详解
May 07 Python
Python math库 ln(x)运算的实现及原理
Jul 17 Python
详解Python self 参数
Aug 30 Python
python3中的eval和exec的区别与联系
Oct 10 Python
python 并发下载器实现方法示例
Nov 22 Python
基于Python获取docx/doc文件内容代码解析
Feb 17 Python
pycharm中如何自定义设置通过“ctrl+滚轮”进行放大和缩小实现方法
Sep 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
高分R级DC动画剧《哈莉·奎茵》第二季正式预告首发
2020/04/09 欧美动漫
php实现字符串首字母转换成大写的方法
2015/03/17 PHP
PHP传参之传值与传址的区别
2015/04/24 PHP
详解PHP中instanceof关键字及instanceof关键字有什么作用
2015/11/05 PHP
浅析Yii2缓存的使用
2016/05/10 PHP
CL vs ForZe BO5 第四场 2.13
2021/03/10 DOTA
用javascript操作xml
2006/11/04 Javascript
javascript 程序库的比较(一)之DOM功能
2010/04/07 Javascript
JavaScript中json对象和string对象之间相互转化
2012/12/26 Javascript
详解JS函数重载
2014/12/04 Javascript
JavaScript 表单处理实现代码
2015/04/13 Javascript
基于JavaScript实现文字超出部分隐藏
2016/02/29 Javascript
JS全局变量和局部变量最新解析
2016/06/24 Javascript
jQuery操作iframe中js函数的方法小结
2016/07/06 Javascript
jQuery Validate设置onkeyup验证的实例代码
2016/12/09 Javascript
JS实现统计字符串中字符出现个数及最大个数功能示例
2018/06/04 Javascript
Angular服务Request异步请求的实例讲解
2018/08/13 Javascript
基于JS+HTML实现弹窗提示是否确认提交功能
2020/06/17 Javascript
Python 字符串中的字符倒转
2008/09/06 Python
python使用pil生成缩略图的方法
2015/03/26 Python
使用Python标准库中的wave模块绘制乐谱的简单教程
2015/03/30 Python
python实现class对象转换成json/字典的方法
2016/03/11 Python
Python基于QRCode实现生成二维码的方法【下载,安装,调用等】
2017/07/11 Python
Python设计模式之命令模式简单示例
2018/01/10 Python
python实现一个猜拳游戏
2020/04/05 Python
世界上最大的各式箱包网络零售店:eBag
2016/07/21 全球购物
SkinCeuticals官网:美国药妆品牌
2018/04/19 全球购物
纯净、自信、100%的羊绒服装:360Cashmere
2021/02/20 全球购物
计生办班子群众路线教育实践活动个人对照检查材料思想汇报
2014/10/04 职场文书
市场调研项目授权委托书范本
2014/10/04 职场文书
2015年初一班主任工作总结
2015/05/13 职场文书
户外拓展训练感想
2015/08/07 职场文书
导游词之山东孔庙
2019/11/04 职场文书
MySQL 常见存储引擎的优劣
2021/06/02 MySQL
vue中this.$http.post()跨域和请求参数丢失的解决
2022/04/08 Vue.js
css让页脚保持在底部位置的四种方案
2022/07/23 HTML / CSS