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变量与常量
Jun 02 Python
浅谈flask截获所有访问及before/after_request修饰器
Jan 18 Python
python使用TensorFlow进行图像处理的方法
Feb 28 Python
python如何生成网页验证码
Jul 28 Python
python matplotlib库直方图绘制详解
Aug 10 Python
python实现拉普拉斯特征图降维示例
Nov 25 Python
tensorflow 只恢复部分模型参数的实例
Jan 06 Python
Python3 全自动更新已安装的模块实现
Jan 06 Python
Python实现清理微信僵尸粉功能示例【基于itchat模块】
May 29 Python
Django配置Bootstrap, js实现过程详解
Oct 13 Python
python判断all函数输出结果是否为true的方法
Dec 03 Python
利用python查看数组中的所有元素是否相同
Jan 08 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
MOTOROLA 摩托罗拉 MODEL 66-XI五灯中波收音机
2021/03/02 无线电
PHP4之真OO
2006/10/09 PHP
php垃圾代码优化操作代码
2010/08/05 PHP
Warning: session_destroy() : Trying to destroy uninitialized sessionq错误
2011/06/16 PHP
PHP 面向对象程序设计(oop)学习笔记(三) - 单例模式和工厂模式
2014/06/12 PHP
PHP和C#可共用的可逆加密算法详解
2015/10/26 PHP
YII Framework框架教程之安全方案详解
2016/03/14 PHP
thinkPHP删除前弹出确认框的简单实现方法
2016/05/16 PHP
浅谈htmlentities 、htmlspecialchars、addslashes的使用方法
2016/12/09 PHP
Laravel框架源码解析之反射的使用详解
2020/05/14 PHP
JS解密入门之凭直觉解
2008/06/25 Javascript
自己的js工具 Event封装
2009/08/21 Javascript
jQuery效果 slideToggle() 方法(在隐藏和显示之间切换)
2011/06/28 Javascript
jQuery搜索子元素的方法
2015/02/10 Javascript
JQuery中serialize() 序列化
2015/03/13 Javascript
jQuery中closest和parents的区别分析
2015/05/07 Javascript
jQuery中$.extend()用法实例
2015/06/24 Javascript
JavaScript仿商城实现图片广告轮播实例代码
2016/02/06 Javascript
jQuery焦点图左右转换效果
2016/12/12 Javascript
基于js实现二级下拉联动
2016/12/17 Javascript
Js利用Canvas实现图片压缩功能
2017/09/13 Javascript
总结JavaScript在IE9之前版本中内存泄露问题
2018/04/28 Javascript
[50:24]VGJ.S vs Pain 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
Python os模块介绍
2014/11/30 Python
调用其他python脚本文件里面的类和方法过程解析
2019/11/15 Python
pyftplib中文乱码问题解决方案
2020/01/11 Python
对tensorflow中cifar-10文档的Read操作详解
2020/02/10 Python
Meli Melo官网:名媛们钟爱的英国奢侈手包品牌
2017/04/17 全球购物
美国在线乐器和设备商店:Musician’s Friend
2018/07/06 全球购物
高中生期末评语
2014/01/28 职场文书
马智宇结婚主持词
2014/04/01 职场文书
教师思想工作总结2015
2015/05/13 职场文书
学习心得体会
2019/06/20 职场文书
Python绘制地图神器folium的新人入门指南
2021/05/23 Python
Java 实战项目之家居购物商城系统详解流程
2021/11/11 Java/Android
SpringBoot全局异常处理方案分享
2022/05/25 Java/Android