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检测某个变量是否有定义的方法
May 20 Python
python初学之用户登录的实现过程(实例讲解)
Dec 23 Python
Python进度条实时显示处理进度的示例代码
Jan 30 Python
Python发送http请求解析返回json的实例
Mar 26 Python
python 查找文件名包含指定字符串的方法
Jun 05 Python
python操作excel的方法(xlsxwriter包的使用)
Jun 11 Python
基于python操作ES实例详解
Nov 16 Python
python使用多线程+socket实现端口扫描
May 28 Python
使用OpenCV去除面积较小的连通域
Jul 05 Python
python实现取余操作的简单实例
Aug 16 Python
两行代码解决Jupyter Notebook中文不能显示的问题
Apr 24 Python
Django开发RESTful API实现增删改查(入门级)
May 10 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
LotusPhp笔记之:基于ObjectUtil组件的使用分析
2013/05/06 PHP
PHP GD库相关图像生成和处理函数小结
2016/09/30 PHP
php 一维数组的循环遍历实现代码
2017/04/10 PHP
Extjs在exlipse中设置自动提示的方法
2010/04/07 Javascript
读jQuery之八 包装事件对象
2011/06/21 Javascript
Jquery 过滤器(first,last,not,even,odd)的使用
2014/01/22 Javascript
jQuery如何取id有.的值一般的方法是取不到的
2014/04/18 Javascript
JavaScript父子窗体间的调用方法
2015/03/31 Javascript
javascript中innerText和innerHTML属性用法实例分析
2015/05/13 Javascript
深入浅析JavaScript字符串操作方法 slice、substr、substring及其IE兼容性
2015/12/16 Javascript
简单的JS时钟实例讲解
2016/01/13 Javascript
轻松实现jquery选项卡切换效果
2016/10/10 Javascript
火狐和ie下获取javascript 获取event的方法(推荐)
2016/11/26 Javascript
Vue.js实现数据响应的方法
2018/08/13 Javascript
jQuery 实现DOM元素拖拽交换位置的实例代码
2020/07/14 jQuery
[02:35]DOTA2英雄基础教程 狙击手
2014/01/14 DOTA
状态机的概念和在Python下使用状态机的教程
2015/04/11 Python
Python实时获取cmd的输出
2015/12/13 Python
Python实现视频下载功能
2017/03/14 Python
Request的中断和ErrorHandler实例解析
2018/02/12 Python
基于python3 OpenCV3实现静态图片人脸识别
2018/05/25 Python
Python读取系统文件夹内所有文件并统计数量的方法
2018/10/23 Python
Python3内置模块random随机方法小结
2019/07/13 Python
详解将Python程序(.py)转换为Windows可执行文件(.exe)
2019/07/19 Python
Django实现简单网页弹出警告代码
2019/11/15 Python
python多线程实现同时执行两个while循环的操作
2020/05/02 Python
Python3 requests模块如何模仿浏览器及代理
2020/06/15 Python
如何基于python把文字图片写入word文档
2020/07/31 Python
css3实现一款模仿iphone样式的注册表单
2013/03/20 HTML / CSS
CSS3属性 line-clamp控制文本行数的使用
2020/03/19 HTML / CSS
关于canvas绘制模糊问题的解决方法
2019/09/24 HTML / CSS
Farfetch香港官网:汇集全球时尚奢侈品购物平台
2017/11/26 全球购物
手工社团活动方案
2014/02/17 职场文书
团日活动总结
2014/04/28 职场文书
浅谈tf.train.Saver()与tf.train.import_meta_graph的要点
2021/05/26 Python
Pytest中skip skipif跳过用例详解
2021/06/30 Python